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())) {
