[ 
https://issues.apache.org/jira/browse/CONNECTORS-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14305463#comment-14305463
 ] 

Aeham Abushwashi commented on CONNECTORS-1156:
----------------------------------------------

We may have hit a very similar issue recently though in a different method 
(JobManager#prepareFullScan). jstack would mostly point to to the sleepFor 
method but from time to time would show activity within the loop before going 
into sleepFor again. The fact that sleepFor was taking some time suggests, in 
that case at least, that a DATABASE_TRANSACTION_ABORT was being caught causing 
sleepAmt to be set to a non-zero value.

Is it worth introducing an upper retry limit, after which the exception is 
rethrown up the call stack?

> Can't shut down agents service when automatic ANALYZE TABLE is happening
> ------------------------------------------------------------------------
>
>                 Key: CONNECTORS-1156
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1156
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework agents process
>    Affects Versions: ManifoldCF 1.8, ManifoldCF 2.0
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 1.9, ManifoldCF 2.1
>
>
> This was detected on MCF 1.8.
> The thread blocking shutdown had the following trace:
> {code}
> "Startup thread" daemon prio=10 tid=0x00007fe73012f000 nid=0x340b in 
> Object.wait() [0x00007fe71f7f6000]
>    java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     at java.lang.Thread.join(Thread.java:1281)
>     - locked <0x00000000e851a0b8> (a 
> org.apache.manifoldcf.core.database.Database$ExecuteQueryThread)
>     at java.lang.Thread.join(Thread.java:1355)
>     at 
> org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.finishUp(Database.java:694)
>     at 
> org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:728)
>     at 
> org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:790)
>     at 
> org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1444)
>     at 
> org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:146)
>     at 
> org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:191)
>     at 
> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.performModification(DBInterfacePostgreSQL.java:656)
>     at 
> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.analyzeTableInternal(DBInterfacePostgreSQL.java:1431)
>     at 
> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.noteModificationsNoTransactions(DBInterfacePostgreSQL.java:1576)
>     at 
> org.apache.manifoldcf.core.database.Database.playbackModifications(Database.java:429)
>     at 
> org.apache.manifoldcf.core.database.Database.endTransaction(Database.java:414)
>     at 
> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.endTransaction(DBInterfacePostgreSQL.java:1231)
>     at 
> org.apache.manifoldcf.crawler.jobs.JobManager.resetStartupJob(JobManager.java:7575)
>     at 
> org.apache.manifoldcf.crawler.system.StartupThread.run(StartupThread.java:238)
> {code}
> This was after many minutes of waiting for the shutdown to take place, so 
> clearly it's looping in the sense that it keeps starting an ANALYZE, gets 
> interrupted, and retries indefinitely.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to