[ https://issues.apache.org/jira/browse/CONNECTORS-100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12906796#action_12906796 ]
Andrzej Bialecki commented on CONNECTORS-100: ---------------------------------------------- I do confirm there is a single process running. I can reproduce this more or less at will, starting from a clean trunk, though sometimes it takes a while. Conditions are always similar: * UI: define a job, repo is Web, output is Solr. Start the job * refresh the screen until it says the job is running * while the job is running access http://localhost:8345/acf-api-service/json/job/list . The output is as expected. * now access http://localhost:8345/acf-crawler-ui/showjobstatus.jsp . This will now hang until it times out. Sometimes the problem goes away after restart, some other times it persist across restart. My OS is Ubuntu 10.4 x64, I'm using Sun JDK 1.6.0_21-b06. > DB lock timeout > --------------- > > Key: CONNECTORS-100 > URL: https://issues.apache.org/jira/browse/CONNECTORS-100 > Project: Apache Connectors Framework > Issue Type: Bug > Components: Framework core > Environment: Running unmodified dist/example from trunk/ using the > default configuration. > Reporter: Andrzej Bialecki > > When a job is started and running (via crawler-ui) occasionally it's not > possible to display a list of running jobs. The problem persists even after > restarting ACF. The following exception is thrown in the console: > {code} > org.apache.acf.core.interfaces.ACFException: Database exception: Exception > doing query: A lock could not be obtained within the time requested > at > org.apache.acf.core.database.Database.executeViaThread(Database.java:421) > at > org.apache.acf.core.database.Database.executeUncachedQuery(Database.java:465) > at > org.apache.acf.core.database.Database$QueryCacheExecutor.create(Database.java:1072) > at > org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144) > at > org.apache.acf.core.database.Database.executeQuery(Database.java:167) > at > org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfaceDerby.java:727) > at > org.apache.acf.crawler.jobs.JobManager.makeJobStatus(JobManager.java:5611) > at > org.apache.acf.crawler.jobs.JobManager.getAllStatus(JobManager.java:5549) > at > org.apache.jsp.showjobstatus_jsp._jspService(showjobstatus_jsp.java:316) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > Caused by: java.sql.SQLTransactionRollbackException: A lock could not be > obtained within the time requested > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown > Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown > Source) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at org.apache.acf.core.database.Database.execute(Database.java:526) > at > org.apache.acf.core.database.Database$ExecuteQueryThread.run(Database.java:381) > Caused by: java.sql.SQLException: A lock could not be obtained within the > time requested > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown > Source) > ... 11 more > Caused by: ERROR 40XL1: A lock could not be obtained within the time requested > at org.apache.derby.iapi.error.StandardException.newException(Unknown > Source) > at > org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(Unknown > Source) > at > org.apache.derby.impl.services.locks.ConcurrentLockSet.zeroDurationLockObject(Unknown > Source) > at > org.apache.derby.impl.services.locks.AbstractPool.zeroDurationlockObject(Unknown > Source) > at > org.apache.derby.impl.services.locks.ConcurrentPool.zeroDurationlockObject(Unknown > Source) > at > org.apache.derby.impl.store.raw.xact.RowLocking2nohold.lockRecordForRead(Unknown > Source) > at > org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknown Source) > at > org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknown Source) > at > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.BTreeScan.fetchNextGroup(Unknown > Source) > at > org.apache.derby.impl.sql.execute.BulkTableScanResultSet.reloadArray(Unknown > Source) > at > org.apache.derby.impl.sql.execute.BulkTableScanResultSet.getNextRowCore(Unknown > Source) > at > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.getRowFromResultSet(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.getNextRowFromRS(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.loadSorter(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.openCore(Unknown > Source) > at > org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown > Source) > at > org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source) > at > org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown > Source) > ... 5 more > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.