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.
