[
https://issues.apache.org/jira/browse/ASTERIXDB-2756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17152864#comment-17152864
]
Chen Luo commented on ASTERIXDB-2756:
-------------------------------------
I checked the code but I don't think the recent LSM changes have affected
replication.
Any idea when this bug happens? It looks like the replication job is exected
after a dataset is dropped, because IndexReplicationManager looks at the
dataset resource instead of a specific LSM component resource. If so, shouldn't
we simply skip the replication job?
> NullPointerException in DatasetResourceReference.parse()
> --------------------------------------------------------
>
> Key: ASTERIXDB-2756
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2756
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: STO - Storage
> Affects Versions: 0.9.5
> Reporter: Murtadha Makki Al Hubail
> Assignee: Chen Luo
> Priority: Major
> Fix For: 0.9.5
>
>
> The following NPE was encountered during a test that creates 10 datasets then
> ingestion some data then create another 10 datasets and ingestion more data:
> {noformat}
> java.lang.NullPointerException: null
> at
> org.apache.asterix.common.storage.DatasetResourceReference.parse(DatasetResourceReference.java:55)
> ~[asterix-common.jar:7.0.0-0000]
> at
> org.apache.asterix.common.storage.DatasetResourceReference.of(DatasetResourceReference.java:38)
> ~[asterix-common.jar:7.0.0-0000]
> at
> org.apache.asterix.transaction.management.resource.PersistentLocalResourceRepository.getLocalResourceReference(PersistentLocalResourceRepository.java:352)
> ~[asterix-transactions.jar:7.0.0-0000]
> at
> org.apache.asterix.replication.management.IndexReplicationManager.skip(IndexReplicationManager.java:135)
> ~[asterix-replication.jar:7.0.0-0000]
> at
> org.apache.asterix.replication.management.IndexReplicationManager.process(IndexReplicationManager.java:104)
> ~[asterix-replication.jar:7.0.0-0000]
> at
> org.apache.asterix.replication.management.IndexReplicationManager.access$200(IndexReplicationManager.java:45)
> ~[asterix-replication.jar:7.0.0-0000]
> at
> org.apache.asterix.replication.management.IndexReplicationManager$ReplicationJobsProcessor.run(IndexReplicationManager.java:175)
> ~[asterix-replication.jar:7.0.0-0000]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> ~[?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> ~[?:?]
> {noformat}
> It looks like due to LSM lifecycle changes, some file of a disk component was
> deleted before we get a chance to check if it needs to be replicated or not.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)