[
https://issues.apache.org/jira/browse/CONNECTORS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920236#action_12920236
]
Karl Wright commented on CONNECTORS-114:
----------------------------------------
For what it is worth, here is the deadlock I am seeing:
Found one Java-level deadlock:
=============================
"Thread-479":
waiting for ownable synchronizer 0x297acc98, (a java.util.concurrent.locks.Ree
ntrantReadWriteLock$NonfairSync),
which is held by "Thread-460"
"Thread-460":
waiting to lock monitor 0x03c9a634 (object 0x29655170, a org.hsqldb.persist.Lo
bManager),
which is held by "Thread-466"
"Thread-466":
waiting for ownable synchronizer 0x297acc98, (a java.util.concurrent.locks.Ree
ntrantReadWriteLock$NonfairSync),
which is held by "Thread-460"
Java stack information for the threads listed above:
===================================================
"Thread-479":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x297acc98> (a java.util.concurrent.locks.Reentr
antReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInt
errupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(A
bstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Abstrac
tQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(Reen
trantReadWriteLock.java:807)
at org.hsqldb.TransactionManager2PL.beginAction(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x244900d0> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
- locked <0x24490328> (a org.hsqldb.jdbc.JDBCStatement)
at org.apache.manifoldcf.core.database.Database.execute(Database.java:52
6)
at org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.run(D
atabase.java:381)
"Thread-460":
at org.hsqldb.persist.LobManager.adjustUsageCount(Unknown Source)
- waiting to lock <0x29655170> (a org.hsqldb.persist.LobManager)
at org.hsqldb.SessionData.adjustLobUsageCount(Unknown Source)
at org.hsqldb.TransactionManagerCommon.persistCommit(Unknown Source)
at org.hsqldb.TransactionManager2PL.commitTransaction(Unknown Source)
at org.hsqldb.Session.commit(Unknown Source)
- locked <0x299f8680> (a org.hsqldb.Session)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x299f8680> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
- locked <0x29a65e88> (a org.hsqldb.jdbc.JDBCPreparedStatement)
at org.apache.manifoldcf.core.database.Database.execute(Database.java:56
6)
at org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.run(D
atabase.java:381)
"Thread-466":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x297acc98> (a java.util.concurrent.locks.Reentr
antReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInt
errupt(AbstractQueuedSynchronizer.java:747)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(A
bstractQueuedSynchronizer.java:778)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Abstrac
tQueuedSynchronizer.java:1114)
at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(Reen
trantReadWriteLock.java:807)
at org.hsqldb.TransactionManager2PL.commitTransaction(Unknown Source)
at org.hsqldb.Session.commit(Unknown Source)
- locked <0x296cf1f0> (a org.hsqldb.Session)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.persist.LobManager.createBlockAddresses(Unknown Source)
at org.hsqldb.persist.LobManager.setBytesIS(Unknown Source)
at org.hsqldb.persist.LobManager.setCharsForNewClob(Unknown Source)
- locked <0x29655170> (a org.hsqldb.persist.LobManager)
at org.hsqldb.SessionData.allocateLobForResult(Unknown Source)
at org.hsqldb.Session.allocateResultLob(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.performPreExecute(Unknown Sourc
e)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
- locked <0x29a65798> (a org.hsqldb.jdbc.JDBCPreparedStatement)
at org.apache.manifoldcf.core.database.Database.execute(Database.java:56
6)
at org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.run(D
atabase.java:381)
Found 1 deadlock.
> Derby seems too unstable in multithreaded situations to be a good database
> for ManifoldCF, so try to add support for HSQLDB
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: CONNECTORS-114
> URL: https://issues.apache.org/jira/browse/CONNECTORS-114
> Project: ManifoldCF
> Issue Type: Bug
> Components: Framework core
> Reporter: Karl Wright
>
> Derby seems to have multiple problems:
> (1) It has internal deadlocks, which even if caught cause poor performance
> due to stalling (CONNECTORS-111);
> (2) It has no support for certain SQL constructs (CONNECTORS-109 and
> CONNECTORS-110);
> (3) It locks up entirely for some people (CONNECTORS-100).
> HSQLDB has been recommended as another potential embedded database that might
> work better.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.