You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Karl Wright (JIRA)" <ji...@apache.org> on 2011/02/27 17:36:39 UTC

[jira] Created: (CONNECTORS-166) Crawl seizes up when running Derby

Crawl seizes up when running Derby
----------------------------------

                 Key: CONNECTORS-166
                 URL: https://issues.apache.org/jira/browse/CONNECTORS-166
             Project: ManifoldCF
          Issue Type: Bug
          Components: Framework crawler agent
    Affects Versions: ManifoldCF 0.1, ManifoldCF next
            Reporter: Karl Wright
            Assignee: Karl Wright


A crawl using multiple worker threads with Derby eventually hangs, because threads get deadlocked dealing with carrydown information.  At the time of hang, a thread dump yields:

"Worker thread '5'" daemon prio=6 tid=0x02fc7800 nid=0xd78 in Object.wait() [0x0465f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
        at java.lang.Thread.join(Unknown Source)
        - locked <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
        at java.lang.Thread.join(Unknown Source)
        at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:453)
        at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:489)
        at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1131)
        at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144)
        at org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:168)
        at org.apache.manifoldcf.core.database.DBInterfaceDerby.performQuery(DBInterfaceDerby.java:785)
        at org.apache.manifoldcf.crawler.jobs.JobManager.processDeleteHashSet(JobManager.java:2592)
        at org.apache.manifoldcf.crawler.jobs.JobManager.calculateAffectedDeleteCarrydownChildren(JobManager.java:2565)
        at org.apache.manifoldcf.crawler.jobs.JobManager.markDocumentDeletedMultiple(JobManager.java:2494)
        at org.apache.manifoldcf.crawler.system.WorkerThread.processDeleteLists(WorkerThread.java:1077)
        at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:544)

... for at least two threads.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (CONNECTORS-166) Crawl seizes up when running Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CONNECTORS-166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Wright resolved CONNECTORS-166.
------------------------------------

       Resolution: Fixed
    Fix Version/s: ManifoldCF 0.2

r1082140.


> Crawl seizes up when running Derby
> ----------------------------------
>
>                 Key: CONNECTORS-166
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-166
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework crawler agent
>    Affects Versions: ManifoldCF 0.1, ManifoldCF 0.2
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 0.2
>
>
> A crawl using multiple worker threads with Derby eventually hangs, because threads get deadlocked dealing with carrydown information.  At the time of hang, a thread dump yields:
> "Worker thread '5'" daemon prio=6 tid=0x02fc7800 nid=0xd78 in Object.wait() [0x0465f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         - locked <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:453)
>         at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:489)
>         at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1131)
>         at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144)
>         at org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:168)
>         at org.apache.manifoldcf.core.database.DBInterfaceDerby.performQuery(DBInterfaceDerby.java:785)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.processDeleteHashSet(JobManager.java:2592)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.calculateAffectedDeleteCarrydownChildren(JobManager.java:2565)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.markDocumentDeletedMultiple(JobManager.java:2494)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.processDeleteLists(WorkerThread.java:1077)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:544)
> ... for at least two threads.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (CONNECTORS-166) Crawl seizes up when running Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CONNECTORS-166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006583#comment-13006583 ] 

Karl Wright commented on CONNECTORS-166:
----------------------------------------

According to the Derby team, Derby trunk fixes this problem.  I've therefore build trunk and checked it in.
r1081520.


> Crawl seizes up when running Derby
> ----------------------------------
>
>                 Key: CONNECTORS-166
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-166
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework crawler agent
>    Affects Versions: ManifoldCF 0.1, ManifoldCF 0.2
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>
> A crawl using multiple worker threads with Derby eventually hangs, because threads get deadlocked dealing with carrydown information.  At the time of hang, a thread dump yields:
> "Worker thread '5'" daemon prio=6 tid=0x02fc7800 nid=0xd78 in Object.wait() [0x0465f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         - locked <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:453)
>         at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:489)
>         at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1131)
>         at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144)
>         at org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:168)
>         at org.apache.manifoldcf.core.database.DBInterfaceDerby.performQuery(DBInterfaceDerby.java:785)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.processDeleteHashSet(JobManager.java:2592)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.calculateAffectedDeleteCarrydownChildren(JobManager.java:2565)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.markDocumentDeletedMultiple(JobManager.java:2494)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.processDeleteLists(WorkerThread.java:1077)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:544)
> ... for at least two threads.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (CONNECTORS-166) Crawl seizes up when running Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CONNECTORS-166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007401#comment-13007401 ] 

Karl Wright commented on CONNECTORS-166:
----------------------------------------

Oleg reports that the test seems to pass.  The only remaining issue is that the version of Derby built from trunk has upgrade blocked.  I will therefore need to build a version of Derby based on the latest release plus the patch instead.


> Crawl seizes up when running Derby
> ----------------------------------
>
>                 Key: CONNECTORS-166
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-166
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework crawler agent
>    Affects Versions: ManifoldCF 0.1, ManifoldCF 0.2
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>
> A crawl using multiple worker threads with Derby eventually hangs, because threads get deadlocked dealing with carrydown information.  At the time of hang, a thread dump yields:
> "Worker thread '5'" daemon prio=6 tid=0x02fc7800 nid=0xd78 in Object.wait() [0x0465f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         - locked <0x2858b720> (a org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>         at java.lang.Thread.join(Unknown Source)
>         at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:453)
>         at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:489)
>         at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1131)
>         at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144)
>         at org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:168)
>         at org.apache.manifoldcf.core.database.DBInterfaceDerby.performQuery(DBInterfaceDerby.java:785)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.processDeleteHashSet(JobManager.java:2592)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.calculateAffectedDeleteCarrydownChildren(JobManager.java:2565)
>         at org.apache.manifoldcf.crawler.jobs.JobManager.markDocumentDeletedMultiple(JobManager.java:2494)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.processDeleteLists(WorkerThread.java:1077)
>         at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:544)
> ... for at least two threads.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira