Hi,

I encountered two strange things today, when developing my app with 
v1.7-SNAPSHOT and Gremlin API.

#1. 
While adding edges, I had following message for each incoming vertex:

WARNING: Found record in transaction with the same RID #12:1 but different 
instance. Probably the record has been loaded from another transaction and 
reused on the current one: reload it from current transaction before to 
update or delete it

Soon after getting the message, I searched posts in OrientDB group page and 
found two threads which were about the above message.

WARNING: Found record in transaction with the same RID but different 
instance<https://groups.google.com/forum/#!searchin/orient-database/WARNING$3A$20Found$20record$20in$20transaction$20with$20the$20same$20RID/orient-database/TA0voVLymgk/13jpI3Kyo6UJ>
(1.6.0) Found record in transaction with the same RID #15:416 but different 
instance.<https://groups.google.com/forum/#!searchin/orient-database/WARNING$3A$20Found$20record$20in$20transaction$20with$20the$20same$20RID/orient-database/n70NhW9GVVc/oe1SFFDFLZ4J>

I understood that the above message appears when an RID is reused, but in 
my case, this is what I think is really strange, I've never done deletion 
and recreation of records in cluster 12.
What I did was just creating each set of incoming and outgoing vertices, 
and creating edges between them.


#2. 
After creating edges and saving the change, I found that some of created 
edges were stored into a different cluster from expected one.
those edges were stored into cluster 3, "default", but they had the same 
label as the other edges correctly stored.
However, the incorrectly stored edges couldn't be retrieved with g.E('label', 
labelName) while correctly stored ones could be, though I could obtain the 
incorrectly stored ones with g.V.bothE or like g.e('#3:xxx'). 
When I checked "DB" tab in OrientDB Studio, default.0.ocl had records and 
value of "Filled" was more than 0.


I confirmed #1 could be reproduced but #2 couldn't. Besides, I didn't test 
with v1.7rc.

Following pseudo-script is what I executed when I had the above issues.

vlist.each{root->
list=[]
g.V("@class", "ClassName").filter{it._pId ==~ ~/[\w\s:-]+$
root.id/}.fill(list) <http://root.id/%7D.fill(list)>
list.each{tgt-> 
root.addEdge("edgeClass", tgt, [p1:tgt.p1, p2:tgt.p2, p3:tgt.p3, ...])
}
}

What I'd like to know is:
- Why did #1 happen though there is no reuse of RID, and How can I avoid it?
- What is the cause of #2?
 

Regards,
Shota Nagahori

-- 

--- 
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/groups/opt_out.

Reply via email to