Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Unable to Synchronize Graph #219

Closed
RonLek opened this issue Nov 13, 2023 · 6 comments
Closed

[Bug] Unable to Synchronize Graph #219

RonLek opened this issue Nov 13, 2023 · 6 comments
Labels
bug Something isn't working

Comments

@RonLek
Copy link

RonLek commented Nov 13, 2023

Community Note

  • Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Describe the bug
I'm trying to visualize data from my Neptune DB using graph-explorer. I'm running graph-explorer in an EC2 instance within the same VPC as my Neptune cluster and creating an SSH tunnel from my local to port 8182 of this instance for connection. I can verify the connection by getting a response from https://<NEPTUNE_ENDPOINT>:8182/status from my browser.

However, the synchronization fails. The Network tab looks like the following

image

The first gremlin request gets a correct response but the second one fails with a 400. Additionally, the summary request fails due to a CORS error. Connectivity to the Neptune cluster is not a problem since the first gremlin request succeeds.

My graph has approximately 3,500 nodes and edges which I presume should not be large to cause timeouts.

  • OS: Amazon Linux 2
  • Browser: Google Chrome
  • Graph Notebook Version: Built from current source
  • Graph Database & Version: Amazon Neptune 1.2.1.0

Expected behavior
A successful synchronization of the data.

@RonLek RonLek added the bug Something isn't working label Nov 13, 2023
@RonLek
Copy link
Author

RonLek commented Nov 13, 2023

@triggan the setup in the readme didn't seem to work for me (prerequisites point to setting up SSH tunnel with EC2 instance here, however on visiting the EC2 public IP requests seem to hit localhost even with the "Using Proxy Server" box checked)) so I resorted to creating a direct tunnel with the EC2 instance.

The only thing that I can spot from the Network tab is a 400 bad request. I don't see anything new in the container logs.

image

@triggan
Copy link
Contributor

triggan commented Nov 14, 2023

You don't need an SSH tunnel to the EC2 instance if you're using Graph Explorer's proxy.

One thing to realize is that the queries used to fetch data into Graph Explorer are not coming from the Graph Explorer application. They are being triggered from the Graph Explorer code that is running in your browser. The proxy is to allow the requests from your browser to the Graph Explorer proxy on EC2, which then forwards the requests to Neptune. Graph Explorer does not have a middle-tier / API layer that sends requests to Neptune. All of the query requests go from the browser to Neptune (either directly, or via the proxy). This is why you will not see 400 errors in the container. The 400 errors would only appear in your browser's console.

@RonLek
Copy link
Author

RonLek commented Nov 14, 2023

Thanks @triggan that clears it up. I was setting the proxy endpoint to https://localhost instead of the public ip of the EC2 instance. The summary request succeeds however I get a ERR_CONNECTION_RESET for the second gremlin query.

image

My EC2 instance can send and receive on ports 80, 443, 8182 and 22. I've also added the certificate to my Keychain. I'm not sure what's causing this.

Update: I think this is due to the size of the graph (~3.5k nodes). I tried reducing the gremlin query size and hitting the same endpoint and it did give out a valid response. Is there any way to go around this?

@cubeddu
Copy link
Contributor

cubeddu commented Dec 11, 2023

think this is due to the size of the graph (~3.5k nodes). I tried reducing the gremlin query size and hitting the same endpoint and it did give out a valid response. Is there any way to go around this?

Hi @RonLek,
Thank you for reporting the issue! To help us triage it better, could you please provide some additional information:

  • API Response: When you click on the column name on the ?gremlin=g.V() fetch call, you'll see tabs on the right side. Please click the "Response" tab and share any relevant information you find there.

  • Label Data: How are your labels set up? Do you have any long string labels? If so, you might be experiencing a known issue that's currently being addressed in a PR (see here: Issue, PR).

This additional information will help us diagnose the problem and provide a solution more quickly.

@xiazcy
Copy link
Collaborator

xiazcy commented Feb 15, 2024

I am closing this issue as it appears to be a configuration issue initially and the graph size issue should be fixed in #197 with versions 1.5.0+ as @cubeddu suggested. Please feel free to reopen if the issue persists after trying the new versions.

@xiazcy xiazcy closed this as completed Feb 15, 2024
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Graph Explorer Planning Feb 15, 2024
@lkysow
Copy link

lkysow commented Oct 31, 2024

For anyone else stumbling upon this. If you're running the graph explorer on your ec2 instance then when you create a connection with the UI you want to put:

  • Public or Proxy Endpoint: URL to your ec2 instance which is what you already have in your browser URL, e.g. https://<ip of ec2 instance>
  • Check Using Proxy-Server
  • Graph Connection URL: URL of your neptune instance, e.g. https://db-neptune-1-instance-1.abc123.us-east-1.neptune.amazonaws.com:8182

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
No open projects
Status: ✅ Done
Development

No branches or pull requests

5 participants