random unexplained AIX thread interrupt in orientdb query processing

28 views
Skip to first unread message

M B

unread,
Mar 3, 2017, 9:16:37 AM3/3/17
to OrientDB

OrientDB 2.0.8 (older version of our software)

We're getting random thread interruptions on AIX 6.1.

They occur in the middle of query processing and sometimes during pool execution.  At random times of day.  Never consistently.

We don't invoke thread.interrupt() aywhere (I checked), and we pretty much never check for thread interruptions anywhere in our code base as we use wait() and notify() for everything.

Anyone have any idea what would be triggering these.

Caused by: com.orientechnologies.orient.core.exception.OCommandExecutionException: The select execution has been interrupted
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:506)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1480)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchValuesFromIndexCursor(OCommandExecutorSQLSelect.java:2112)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:1967)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:922)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:199)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:493)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:475)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:446)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:90)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1433)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1406)
at com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:72)
at com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:85)
at com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:33)
at com.orientechnologies.orient.object.db.OCommandSQLPojoWrapper.execute(OCommandSQLPojoWrapper.java:50)

and this one:

Caused by: java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1312)
at java.util.concurrent.Semaphore.acquire(Semaphore.java:328)
at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.acquire(OPartitionedDatabasePool.java:277)
... 23 more

M B

unread,
Mar 3, 2017, 9:27:45 AM3/3/17
to OrientDB

A question here. Looking at the code base in orientdb back to 2.2.8 the interrupted exception that is being thrown is kinda generic and looks like other exceptions.  A more recent version 2.2.9 and I assume newer versions as well. throw a specific exception that seems catchable so we can add code to handle these nicer.

But it doesn't explain the random interrupts
Reply all
Reply to author
Forward
0 new messages