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

Murtadha Hubail commented on ASTERIXDB-1114:
--------------------------------------------

I already have a patch up in gerrit:
https://asterix-gerrit.ics.uci.edu/#/c/413/

The real issue could be easily tested and avoided by adding any of this to the 
BaseOperationTracker constructor:
assert datasetInfo != null
or
if(datasetInfo == null){
throw new IllegalStateException("...")

But since the getDatasetInfo() now would never return null, there is no need to 
add it.

What really need to be tested is things like checkpointing and shutting down 
successfully.

> managix stop [instance_name] throws NullPointerException during checkpoint
> --------------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1114
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1114
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Young-Seok Kim
>            Assignee: Murtadha Hubail
>
> When AsterixDB instance is stopped after inserting a record, checkpoint from 
> the recovery manager throws NullPointerException, which doesn't make NCDriver 
> stop. 
> The exception is shown below:
> INFO: Stopping NodeControllerService
> java.lang.NullPointerException
>     at 
> org.apache.asterix.common.context.BaseOperationTracker.beforeOperation(BaseOperationTracker.java:45)
>     at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.enterComponents(LSMHarness.java:178)
>     at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.getAndEnterComponents(LSMHarness.java:113)
>     at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.scheduleFlush(LSMHarness.java:376)
>     at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.scheduleFlush(LSMTreeIndexAccessor.java:122)
>     at 
> org.apache.asterix.common.context.DatasetLifecycleManager.flushAndWaitForIO(DatasetLifecycleManager.java:237)
>     at 
> org.apache.asterix.common.context.DatasetLifecycleManager.flushDatasetOpenIndexes(DatasetLifecycleManager.java:518)
>     at 
> org.apache.asterix.common.context.DatasetLifecycleManager.flushAllDatasets(DatasetLifecycleManager.java:439)
>     at 
> org.apache.asterix.transaction.management.service.recovery.RecoveryManager.checkpoint(RecoveryManager.java:379)
>     at 
> org.apache.asterix.hyracks.bootstrap.NCApplicationEntryPoint.stop(NCApplicationEntryPoint.java:138)
>     at 
> org.apache.hyracks.control.nc.NodeControllerService.stop(NodeControllerService.java:343)
>     at org.apache.hyracks.control.nc.NCDriver$1.run(NCDriver.java:53)



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

Reply via email to