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