Michael Blow has submitted this change and it was merged. Change subject: [NO ISSUE][*DB] LogManagerWithReplication optimizations ......................................................................
[NO ISSUE][*DB] LogManagerWithReplication optimizations - user model changes: no - storage format changes: no - interface changes: no Details: - eliminate boxing/unboxing of txnids - remove redundant hashset contains call Change-Id: I6e5068c6fe3f6226eabd5403440682c52662421e Reviewed-on: https://asterix-gerrit.ics.uci.edu/3251 Sonar-Qube: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Contrib: Jenkins <[email protected]> Reviewed-by: Till Westmann <[email protected]> --- M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Anon. E. Moose #1000171: Till Westmann: Looks good to me, approved Jenkins: Verified; No violations found; ; Verified diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java index d2e9629..8a1cc65 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java @@ -18,9 +18,6 @@ */ package org.apache.asterix.transaction.management.service.logging; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.replication.IReplicationManager; import org.apache.asterix.common.replication.IReplicationStrategy; @@ -30,11 +27,15 @@ import org.apache.asterix.common.transactions.LogType; import org.apache.hyracks.api.util.InvokeUtil; +import it.unimi.dsi.fastutil.longs.LongOpenHashSet; +import it.unimi.dsi.fastutil.longs.LongSet; +import it.unimi.dsi.fastutil.longs.LongSets; + public class LogManagerWithReplication extends LogManager { private IReplicationManager replicationManager; private IReplicationStrategy replicationStrategy; - private final Set<Long> replicatedTxn = ConcurrentHashMap.newKeySet(); + private final LongSet replicatedTxn = LongSets.synchronize(new LongOpenHashSet()); public LogManagerWithReplication(ITransactionSubsystem txnSubsystem) { super(txnSubsystem); @@ -52,7 +53,7 @@ case LogType.FLUSH: case LogType.FILTER: shouldReplicate = replicationStrategy.isMatch(logRecord.getDatasetId()); - if (shouldReplicate && !replicatedTxn.contains(logRecord.getTxnId())) { + if (shouldReplicate) { replicatedTxn.add(logRecord.getTxnId()); } break; -- To view, visit https://asterix-gerrit.ics.uci.edu/3251 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6e5068c6fe3f6226eabd5403440682c52662421e Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Michael Blow <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]>
