According to the documentation here 
http://orientdb.com/docs/2.0/orientdb.wiki/Distributed-Architecture.html 
under the heading *Creation of records (documents, vertices and edges)* it 
states that

In distributed mode the RID is assigned with cluster locality. If you have 
class Customer and 3 nodes (node1, node2, node3), you'll have these 
clusters:


   - customer with id=#15 (this is the default one, assigned to node1) 
   - customer_node2 with id=#16 
   - customer_node3 with id=#17

This would imply that you cannot rely on the clusterID in your code. For 
example, selecting a record like this

select from #15:1 


would break in a distributed setup, because once node1 fails and node2 
takes over, you'll have to select

select from #16:1


Or if node2 fails, you'll have to

select from #17:1


My question is, is it the responsibility of the programmer to handle which 
clusterID to use, or is this automatically handled by OrientDB, in which 
case

select from #15:1


will always work, not matter which node is up or down?

If not, the only strategy I can come up with is to constantly select 1 row 
from the class before each insert or update, and then use that get the 
current clusterID

Any input would be appreciated. 

Thank you!

-- 

--- 
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