I am a newbie so I unfortuantelly can't answer your question, but I would like to ask why do you have to perform reads in a transaction? Do you use REPEATABLE READS isolation level?
Dne středa 2. září 2015 9:59:00 UTC+2 Alan47 napsal(a): > > Hello everyone, > > > *Detailed explanation of the situation* > we are currently in the process of migrating a project that previously > used Titan to OrientDB. We are facing some issues regarding concurrency. In > Titan, several threads could perform read operations on a single > transaction without any problems. The OrientDB manual states that each > thread should have its own OrientGraph instance. This is hard for us to > manage, as we are using OrientDB as the backend for a web application. Such > an environment runs a lot of threads, some of them long-running (e.g. > threads managed by Tomcat), others short-lived (e.g spawned by > collection.parallelStream()). Any solution involving a ThreadLocal is > problematic because there is no clean way to clean it up again and closing > the OrientGraph instance. Also, opening transactions in OrientDB seems to > have a considerable performance overhead, which means that we have to keep > a transaction open and perform several reads on it to minimize the > transaction creation overhead. But this is only possible if we can be sure > that it is safe to have multiple concurrent reads on a single OrientDB > instance. Is that the case? > > *TL;DR (Short version)* > Is it safe to perform concurrent reads on an OrientGraph instance, > provided that no write operations occur on that instance? > > > Thanks, > > > Alan > -- --- 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.
