question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Graphexp breaks connection to AWS Neptune

See original GitHub issue

Hi!

I set up an AWS Neptune DB with a big graph inside. I also configured a ssh port forwarding using an EC2. At http://localhost:8182/status I receive this response, as expected:

{"status":"healthy","startTime":"Tue Apr 14 16:34:44 UTC 2020","dbEngineVersion":"1.0.2.2.R2","role":"writer","gremlin":{"version":"tinkerpop-3.4.3"},"sparql":{"version":"sparql-1.1"},"labMode":{"ObjectIndex":"disabled","ReadWriteConflictDetection":"enabled"}}

Then, I made a curl request:

curl 'http://localhost:8182/gremlin' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Accept: */*' -H 'Sec-Fetch-Dest: empty' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' -H 'DNT: 1' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Origin: http://0.0.0.0:9000' -H 'Sec-Fetch-Site: cross-site' -H 'Sec-Fetch-Mode: cors' -H 'Referer: http://0.0.0.0:9000/graphexp.html' -H 'Accept-Language: en-US,en;q=0.9,it;q=0.8' --data '{"gremlin":"g.V().limit(1).valueMap()"}' --compressed

which answered me with the query results.

So, where is the problem? I opened graphexp.html and clicked on “Get graph info”. Now:

  • graphexp tells me “(loading)”
  • curl requests are pending
  • gremlin queries from the EC2 are pending

The only way I could unlock this situation is stop-start the DB.

Is there a way to suppress graphexp requests after a timeout? It seems requests keep DB busy even if graphexp.html returns a timeout message; this way I have no options to interact with the machine.

Thanks.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
valeriazuccolicommented, Apr 15, 2020

I realized that .limit(10000) does not return any MemoryError, while .sample(10000) does. I don’t know why, but I think this is a Neptune-related issue and not graphexp-related.

I believe limit solves the problem, but displaying a message seems necessary in this case. Maybe something like “You’re reading info about the top X nodes and vertices of your graph. Some others labels/properties may be available” may be useful.

Thank you very much!

Note: I don’t know if there is a cache system, but my “Get graph info” now takes only 10 seconds. Good point!

0reactions
bricaudcommented, Apr 16, 2020

Thanks @valeriazuccoli for your feedback!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Visualize a Gremlin Graph from Amazon Neptune with Graphexp
I want to use Graphexp to visualize a Gremlin graph that's stored in ... EC2 instance to connect to the Neptune cluster from...
Read more >
How to integrate the visualisation tool Graphexp with Neptune ...
I have setup an AWS Neptune database cluster with one primary and two replica nodes in three private subnets, each in three availability...
Read more >
Graph Database introduction, deep-dive and demo ... - YouTube
With Amazon Neptune you can build and run identity, knowledge, fraud graph ... deep-dive and demo with Amazon Neptune - AWS Virtual Workshop....
Read more >
Graph Databases & Amazon Neptune overview - Medium
Focusing on Overview of Amazon Neptune Graph Database service and internals ... AWS Identity and Access Management (IAM); 256-bit AES data encryption; HTTPS ......
Read more >
Hello, Neptune! - David Pallmann's Technology Blog
NET on AWS: Amazon Neptune. ... Neptune only permits access from the same AWS VPC, ... Iterate(); break; case "people": { context.Logger.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found