-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Description
The current OrientDB implementation in the AnalysisManager does not support or handle concurrent invocations to open the same database file more than once.
This may provoke the following type of exception:
java.lang.IllegalStateException: File is allowed to be opened only once.
File is already opened under:
----------------------------------------------------------------------------------------------------
java.base/java.lang.Thread.getStackTrace(Thread.java:1606)
com.orientechnologies.orient.core.storage.fs.OFileClassic.acquireExclusiveAccess(OFileClassic.java:564)
com.orientechnologies.orient.core.storage.fs.OFileClassic.open(OFileClassic.java:501)
com.orientechnologies.orient.core.storage.cache.local.OWOWCache.readNameIdMapV2(OWOWCache.java:1900)
com.orientechnologies.orient.core.storage.cache.local.OWOWCache.initNameIdMapping(OWOWCache.java:1791)
com.orientechnologies.orient.core.storage.cache.local.OWOWCache.loadRegisteredFiles(OWOWCache.java:481)
com.orientechnologies.orient.core.storage.disk.OLocalPaginatedStorage.initWalAndDiskCache(OLocalPaginatedStorage.java:632)
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:375)
com.orientechnologies.orient.core.db.OrientDBEmbedded.open(OrientDBEmbedded.java:296)
com.orientechnologies.orient.core.db.OrientDB.open(OrientDB.java:205)
com.orientechnologies.orient.core.db.OrientDB.open(OrientDB.java:190)
org.testar.statemodel.analysis.AnalysisManager.fetchTestSequence(AnalysisManager.java:260)
org.testar.statemodel.analysis.StateModelServlet.doPost(StateModelServlet.java:90)
javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
Example to reproduce:
- Infer a State Model with 2 or 3 sequences
- Perform quick click actions in the view report buttons to provoke this exception
