[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;