Ok so I did a bit more testing and now I see how it's all working - the 
clusters are all in synch (data is being replicated) and a node is always 
inserting to it's local cluster. 

Is there a way to disable those localities?? I mean I don't want N clusters 
per class where N is the number of nodes as I'm relying on Orient's ID 
generation and if I have more than 1 cluster then that means I can have 
multiple records (up to N) with the same cluster position!!! This is a 
really undesired, breaking change and I haven't seen it documented 
anywhere... 

Mateusz

On Friday, December 12, 2014 2:27:55 PM UTC+9, Mateusz Dymczyk wrote:
>
> I updated to 2.0 SNAPSHOT and I'm having a bit of trouble:
>
> Number of nodes: 3
> Version: all running the latest 2.0 SNAPSHOT build (12.12.14)
>
> My distributed config is very basic:
>
> {
>     "autoDeploy": true,
>     "hotAlignment": false,
>     "executionMode": "synchronous",
>     "readQuorum": 1,
>     "writeQuorum": 2,
>     "failureAvailableNodesLessQuorum": false,
>     "readYourWrites": true,
>     "clusters": {
>         "internal": {
>         },
>         "index": {
>         },
>         "ODistributedConflict": {
>         },
>         "*": {
>             "servers": [ "<NEW_NODE>" ]
>         }
>     }
> }
>
> During boot time new nodes keep on creating local clusters:
>
> For instance:
>
> 2014-12-12 11:30:11.496 [main] INFO  c.o.o.s.hazelcast.OHazelcastPlugin - 
> [database2] class blob, creation of new local cluster 'blob_database2' (id
> =-1)
> 2014-12-12 11:30:11.805 [main] INFO  c.o.o.s.hazelcast.OHazelcastPlugin - 
> [database2] class blob, set mastership of cluster 'blob_database2' (id=86) 
> to 'database2'
>
> Or:
>
> 2014-12-12 10:32:48.093 [main] INFO  c.o.o.s.hazelcast.OHazelcastPlugin - 
> [database3] class blob, creation of new local cluster 'blob_database3' (id
> =-1)
> 2014-12-12 10:32:48.389 [main] INFO  c.o.o.s.hazelcast.OHazelcastPlugin - 
> [database3] class blob, set mastership of cluster 'blob_database3' (id=239
> ) to 'database3'
>
> When the application is running it seems that each node tries to insert 
> things into their own local clusters, which can be problematic during *update 
> operations* as the engine will think that the record is not there! 
>
> For instance I have 3 clusters: #1 (local to node1), #2 (local to node2), 
> #3 (local to node3). If I send a new doc to node1 and save it there it will 
> get an ID #1:0, then if I send that document to node2 for *update* it 
> will check local cluster #2 and see no record to update and will try to 
> save it but then the indexer will throw a 
> com.orientechnologies.orient.core.storage.ORecordDuplicatedException: 
> Cannot index record #68:0: found duplicated key 'test in index 'testIdx' 
> previously assigned to the record #143:0
>
> When I check the state of clusters from the console they are also 
> completely different:
>
> orientdb {db=testOrient}> clusters
>
> CLUSTERS
>
> -----------------------------------------+-------+-------------------+----------------+
>  NAME                                    | ID    | CONFLICT STRATEGY | 
> RECORDS        |
>
> -----------------------------------------+-------+-------------------+----------------+
>  test                                    |    76 |                   |   
>           11 |
>  test_database02                         |   140 |                   |   
>         4537 |
>  test_database03                         |   174 |                   |   
>         4006 |
>
> -----------------------------------------+-------+-------------------+----------------+
>  TOTAL = 3                                                           |   
>         8554 |
>
> -----------------------------------------+-------+-------------------+----------------+
>
> Is this a bug in 2.0 or am I miss configuring something? Might it be that 
> other nodes don't get notified about the mastership change and every node 
> is trying to save only in their respective local clusters?
>
> Mateusz
>  
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to