[jira] [Commented] (CONNECTORS-114) Derby seems too unstable in multithreaded situations to be a good database for ManifoldCF, so try to add support for HSQLDB
[ https://issues.apache.org/jira/browse/CONNECTORS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043369#comment-13043369 ] Karl Wright commented on CONNECTORS-114: Remaining issues with HSQLDB have been resolved, so I'm closing this ticket. r1131056. > 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 > Fix For: ManifoldCF 0.3 > > > 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. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CONNECTORS-114) Derby seems too unstable in multithreaded situations to be a good database for ManifoldCF, so try to add support for HSQLDB
[ https://issues.apache.org/jira/browse/CONNECTORS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13041339#comment-13041339 ] Karl Wright commented on CONNECTORS-114: Just got email from the HSQLDB team, and confirmed that the deadlock issue was resolved in hsqldb 2.2.2. So it looks like we have a third database that ManifoldCF can work with. I've checked in the updated database jar, and am planning on writing a test series that uses hsqldb, much like the series that uses PostgreSQL. We've still got to settle on how precisely to do the equivalent of PostgreSQL's DISTINCT ON functionality, but that's all that is left. Also, FWIW, HSQLDB doesn't (as yet) seem to fail so spectacularly dealing with hopcounts as Derby does. > 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. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CONNECTORS-114) Derby seems too unstable in multithreaded situations to be a good database for ManifoldCF, so try to add support for HSQLDB
[ https://issues.apache.org/jira/browse/CONNECTORS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015013#comment-13015013 ] Karl Wright commented on CONNECTORS-114: This is stalled, because HSQLDB is not yet ready for the kinds of demands that ManifoldCF will put on it. Working with Derby seems more appropriate since they've been able to respond to bugs. > 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. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CONNECTORS-114) Derby seems too unstable in multithreaded situations to be a good database for ManifoldCF, so try to add support for HSQLDB
[ 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
[jira] Commented: (CONNECTORS-114) Derby seems too unstable in multithreaded situations to be a good database for ManifoldCF, so try to add support for HSQLDB
[ https://issues.apache.org/jira/browse/CONNECTORS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920227#action_12920227 ] Karl Wright commented on CONNECTORS-114: Support added and checked in. However, when I try to use hsqldb for an actual crawl, in less than 10 seconds I wind up with a java-level thread deadlock. I've posted the thread dump to connectors-dev. All the locks seem to be deep inside hsqldb, FWIW, which leads me to believe that perhaps hsqldb is even less stable than Derby in a multithread environment. > 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.