This is an automated email from the ASF dual-hosted git repository.

dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 4946635f10d56251f40fa9496611bad448c30497
Author: Murtadha Hubail <[email protected]>
AuthorDate: Fri Apr 8 17:38:45 2022 +0300

    [NO ISSUE][STO] Read Only Node's Partitions Resources on Cleanup
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    - When performing global storage clean up, read only the local
     resources that belong to the node's partitions.
    
    Change-Id: Ibeb18b70024d9120f039423b1506d54298070d79
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/16063
    Tested-by: Jenkins <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
    Reviewed-by: Ali Alsuliman <[email protected]>
---
 .../apache/asterix/app/message/StorageCleanupRequestMessage.java   | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/StorageCleanupRequestMessage.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/StorageCleanupRequestMessage.java
index 281f65419f..0936512f0c 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/StorageCleanupRequestMessage.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/StorageCleanupRequestMessage.java
@@ -57,13 +57,12 @@ public class StorageCleanupRequestMessage extends 
CcIdentifiedMessage implements
         INCMessageBroker broker = (INCMessageBroker) 
appContext.getServiceContext().getMessageBroker();
         PersistentLocalResourceRepository localResourceRepository =
                 (PersistentLocalResourceRepository) 
appContext.getLocalResourceRepository();
-        Map<Long, LocalResource> localResources = 
localResourceRepository.loadAndGetAllResources();
         Set<Integer> nodePartitions = 
appContext.getReplicaManager().getPartitions();
+        Map<Long, LocalResource> localResources = 
localResourceRepository.getResources(lr -> true, nodePartitions);
         for (LocalResource resource : localResources.values()) {
             DatasetLocalResource lr = (DatasetLocalResource) 
resource.getResource();
-            if (!nodePartitions.contains(lr.getPartition())
-                    || 
MetadataIndexImmutableProperties.isMetadataDataset(lr.getDatasetId())) {
-                // skip replica partitions and metadata indexes
+            if 
(MetadataIndexImmutableProperties.isMetadataDataset(lr.getDatasetId())) {
+                // skip metadata indexes
                 continue;
             }
             if (!validDatasetIds.contains(lr.getDatasetId())) {

Reply via email to