You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by al...@apache.org on 2021/04/07 12:47:54 UTC

[asterixdb] 13/25: [NO ISSUE][OTH] Use IntOpenHashSet for datasets ids

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

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

commit 9c01346c63551d1bae4bd8aa900365a8522f7b71
Author: Murtadha Hubail <mh...@apache.org>
AuthorDate: Thu Apr 1 14:07:37 2021 +0300

    [NO ISSUE][OTH] Use IntOpenHashSet for datasets ids
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    - Use IntOpenHashSet rather than Set<Integer> in StorageCleanupRequestMessage.
    
    Change-Id: Ic7aea42f9a0fe9741d52ead7b6b13a85e2f65417
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/10823
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Murtadha Hubail <mh...@apache.org>
    Reviewed-by: Michael Blow <mb...@apache.org>
---
 .../apache/asterix/app/message/StorageCleanupRequestMessage.java   | 7 ++++---
 .../apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java    | 7 ++++---
 2 files changed, 8 insertions(+), 6 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 85269a1..5e52517 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
@@ -21,7 +21,6 @@ package org.apache.asterix.app.message;
 import static org.apache.hyracks.util.ExitUtil.EC_NC_FAILED_TO_NOTIFY_TASKS_COMPLETED;
 
 import java.util.Map;
-import java.util.Set;
 
 import org.apache.asterix.common.api.IDatasetLifecycleManager;
 import org.apache.asterix.common.api.INcApplicationContext;
@@ -38,14 +37,16 @@ import org.apache.hyracks.util.ExitUtil;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
+import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
+
 public class StorageCleanupRequestMessage extends CcIdentifiedMessage implements INcAddressedMessage {
 
     private static final long serialVersionUID = 1L;
     private static final Logger LOGGER = LogManager.getLogger();
-    private final Set<Integer> validDatasetIds;
+    private final IntOpenHashSet validDatasetIds;
     private final long reqId;
 
-    public StorageCleanupRequestMessage(long reqId, Set<Integer> validDatasetIds) {
+    public StorageCleanupRequestMessage(long reqId, IntOpenHashSet validDatasetIds) {
         this.validDatasetIds = validDatasetIds;
         this.reqId = reqId;
     }
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java
index cf2af95..ae50880 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java
@@ -21,7 +21,6 @@ package org.apache.asterix.hyracks.bootstrap;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
@@ -56,6 +55,8 @@ import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
+import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
+
 public class GlobalRecoveryManager implements IGlobalRecoveryManager {
 
     private static final Logger LOGGER = LogManager.getLogger();
@@ -134,11 +135,11 @@ public class GlobalRecoveryManager implements IGlobalRecoveryManager {
     protected void performGlobalStorageCleanup(MetadataTransactionContext mdTxnCtx, int storageGlobalCleanupTimeoutSecs)
             throws Exception {
         List<Dataverse> dataverses = MetadataManager.INSTANCE.getDataverses(mdTxnCtx);
-        Set<Integer> validDatasetIds = new HashSet<>();
+        IntOpenHashSet validDatasetIds = new IntOpenHashSet();
         for (Dataverse dataverse : dataverses) {
             List<Dataset> dataverseDatasets =
                     MetadataManager.INSTANCE.getDataverseDatasets(mdTxnCtx, dataverse.getDataverseName());
-            dataverseDatasets.stream().map(Dataset::getDatasetId).forEach(validDatasetIds::add);
+            dataverseDatasets.stream().mapToInt(Dataset::getDatasetId).forEach(validDatasetIds::add);
         }
         ICcApplicationContext ccAppCtx = (ICcApplicationContext) serviceCtx.getApplicationContext();
         final List<String> ncs = new ArrayList<>(ccAppCtx.getClusterStateManager().getParticipantNodes());