You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2022/05/06 18:33:30 UTC

[asterixdb] 01/03: [NO ISSUE][STO] Read Only Node's Partitions Resources on Cleanup

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 <mh...@apache.org>
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 <je...@fulliautomatix.ics.uci.edu>
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Ali Alsuliman <al...@gmail.com>
---
 .../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())) {