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

OrientDB concurrent writes in distributed mode - not working #8663

Closed
arpitaagarwal opened this issue Nov 16, 2018 · 3 comments
Closed

OrientDB concurrent writes in distributed mode - not working #8663

arpitaagarwal opened this issue Nov 16, 2018 · 3 comments

Comments

@arpitaagarwal
Copy link

OrientDB Version: 3.0.10

Java Version: 8

OS: MacOS 10.13.6 and Ubuntu 16.04.3 LTS (Its a containerised environment)

Expected behavior

We have a write intensive application and need to deploy OrientDB in distributed mode for HA in production. We are using OrientDB blueprint APIs.
OrientDB client should be able to connect to the cluster and create/write edges and vertices concurrently distributing load across different nodes. This is required for -
(1) Faster writes
(2) High Availability

Actual behavior

2 nodes cluster works fine with 1-2 threads. As number of threads increases, it starts giving timeout exceptions and OrientDB client hangs forever waiting for synchronisation to complete. It never recovers.

Steps to reproduce

  1. A default deployment of OrientDB 3.0.10 without any config changes.
  2. Start 2 nodes on orientdb through dserver.sh file on same machine. Both these nodes will start communicating with each other by sharing ip-address through multicast.
  3. Use orientdb client connects to server with ipaddress, no stick ports.
  4. Client writes a vertex-edge-vertex (Person-FriendOf-Person) through a single commit operation.
  5. Add unique index on Person.name to avoid creating multiple vertex of same name.
  6. Run this test multiple time with single thread (works fine).
  7. Increase number of threads to see following in logs - Timeout (1244ms) on waiting for synchronous responses from nodes=[node2, node1] responsesSoFar=[node2] request=(id=1.105226 task=TxPhase1) [ODistributedDatabaseImpl]

Can someone suggest what's wrong in this deployment? We need to write millions of vertex-edge-vertex combinations and build a graph.
cc @lvca @tglman @Andrey Lomakin @luigidellaquila

@cschockaert
Copy link

+1 got exactly the same problem with odb 3.3.18 here
never got this problem in odb latest 2.X version

@Jotschi
Copy link

Jotschi commented May 22, 2019

@tglman Do you think this issue is similar to the ones that were handled in private issue (10586 - Cluster communication failure) - Is this solved with 3.0.19?

@Jotschi
Copy link

Jotschi commented May 22, 2019

Relates to #8742

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants