Till created ASTERIXDB-2130:
-------------------------------
Summary: NPE in RecoveryManager.undo
Key: ASTERIXDB-2130
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2130
Project: Apache AsterixDB
Issue Type: Bug
Components: TX - Transactions
Reporter: Till
RecoveryManager.undo throws an NPE, as the result of
DatasetLifecycleManager.getIndex is not checked:
{noformat}
12:29:41 Oct 11, 2017 7:30:38 PM
org.apache.hyracks.control.cc.executor.JobExecutor notifyTaskComplete
12:29:41 WARNING: Spurious task complete notification:
TAID:TID:ANID:ODID:2:0:1:0 Current state = ABORTED
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: undoing loser transaction's effect
12:29:41 Oct 11, 2017 7:30:38 PM
org.apache.asterix.transaction.management.service.transaction.TransactionManager
abortTransaction
12:29:41 SEVERE: Could not complete rollback! System is in an inconsistent state
12:29:41 java.lang.IllegalStateException: Failed to undo
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.undo(RecoveryManager.java:690)
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.rollbackTransaction(RecoveryManager.java:630)
12:29:41 at
org.apache.asterix.transaction.management.service.transaction.TransactionManager.abortTransaction(TransactionManager.java:65)
12:29:41 at
org.apache.asterix.transaction.management.service.transaction.TransactionManager.completedTransaction(TransactionManager.java:132)
12:29:41 at
org.apache.asterix.runtime.job.listener.JobEventListenerFactory$1.jobletFinish(JobEventListenerFactory.java:58)
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: rollbacking transaction log records from 341833971 to 342015311
12:29:41 at
org.apache.hyracks.control.nc.Joblet.performCleanup(Joblet.java:317)
12:29:41 at
org.apache.hyracks.control.nc.Joblet.removeTask(Joblet.java:152)
12:29:41 at
org.apache.hyracks.control.nc.work.NotifyTaskCompleteWork.run(NotifyTaskCompleteWork.java:49)
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: collecting loser transaction's LSNs from 341833971 to 342015311
12:29:41 at
org.apache.hyracks.control.common.work.WorkQueue$WorkerThread.run(WorkQueue.java:127)
12:29:41 Caused by: java.lang.NullPointerException
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.undo(RecoveryManager.java:666)
12:29:41 ... 8 more
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: undoing loser transaction's effect
12:29:41 Oct 11, 2017 7:30:38 PM
org.apache.hyracks.control.common.work.WorkQueue$WorkerThread
auditWaitsAndBlocks
12:29:41 WARNING: Work NotifyTaskCompleteWork:TAID:TID:ANID:ODID:2:0:3:0 waited
1 times (~0ms), blocked 3 times (~0ms)
12:29:41 Exception in thread "Worker:asterix_nc2" java.lang.Error:
org.apache.asterix.common.exceptions.ACIDException: Could not complete
rollback! System is in an inconsistent state
12:29:41 at
org.apache.asterix.runtime.job.listener.JobEventListenerFactory$1.jobletFinish(JobEventListenerFactory.java:61)
12:29:41 at
org.apache.hyracks.control.nc.Joblet.performCleanup(Joblet.java:317)
12:29:41 at
org.apache.hyracks.control.nc.Joblet.removeTask(Joblet.java:152)
12:29:41 at
org.apache.hyracks.control.nc.work.NotifyTaskCompleteWork.run(NotifyTaskCompleteWork.java:49)
12:29:41 at
org.apache.hyracks.control.common.work.WorkQueue$WorkerThread.run(WorkQueue.java:127)
12:29:41 Caused by: org.apache.asterix.common.exceptions.ACIDException: Could
not complete rollback! System is in an inconsistent state
12:29:41 at
org.apache.asterix.transaction.management.service.transaction.TransactionManager.abortTransaction(TransactionManager.java:73)
12:29:41 at
org.apache.asterix.transaction.management.service.transaction.TransactionManager.completedTransaction(TransactionManager.java:132)
12:29:41 at
org.apache.asterix.runtime.job.listener.JobEventListenerFactory$1.jobletFinish(JobEventListenerFactory.java:58)
12:29:41 ... 4 more
12:29:41 Caused by: java.lang.IllegalStateException: Failed to undo
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.undo(RecoveryManager.java:690)
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.rollbackTransaction(RecoveryManager.java:630)
12:29:41 at
org.apache.asterix.transaction.management.service.transaction.TransactionManager.abortTransaction(TransactionManager.java:65)
12:29:41 ... 6 more
12:29:41 Caused by: java.lang.NullPointerException
12:29:41 at
org.apache.asterix.app.nc.RecoveryManager.undo(RecoveryManager.java:666)
12:29:41 ... 8 more
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: undone loser transaction's effect
12:29:41 Oct 11, 2017 7:30:38 PM org.apache.asterix.app.nc.RecoveryManager
rollbackTransaction
12:29:41 INFO: [RecoveryManager's rollback log count]
update/entityCommit/undo:761/0/761
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)