commit | 3942f5e958aa4635f24d6cd2253a18b4683a7322 | [log] [tgz] |
---|---|---|
author | Ritik Raj <raj.ritik9835@gmail.com> | Tue Mar 25 00:26:17 2025 +0530 |
committer | Ritik Raj <ritik.raj@couchbase.com> | Tue Mar 25 03:42:25 2025 +0000 |
tree | 4ccc3daf9701570ecceea683ef0edd63eb8933fc | |
parent | ed4a9a96596d7ed3c48edd91eac3011c8958b527 [diff] |
[NO ISSUE][STO] Fix race while destroy - user model changes: no - storage format changes: no - interface changes: no Details: There are cases when trying to destroy unregistered index, where threads race to create and remove the dataset from datasets cache, which may cause the NPE while accessing datset from cache. Ext-ref: MB-65896 Change-Id: I932fd456493da47255d122833d6c6e1fe41fb02a Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19547 Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Reviewed-by: Murtadha Hubail <mhubail@apache.org>
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java index c6edb4e..fc27bf6 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
@@ -639,7 +639,7 @@ @Override public ILSMComponentIdGenerator getComponentIdGenerator(int datasetId, int partition, String path) { - DatasetResource dataset = datasets.get(datasetId); + DatasetResource dataset = getDatasetLifecycle(datasetId); ILSMComponentIdGenerator generator = dataset.getComponentIdGenerator(partition); if (generator != null) { return generator;