Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/3251
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 redunant hashset contains call
Change-Id: I6e5068c6fe3f6226eabd5403440682c52662421e
---
M
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
1 file changed, 6 insertions(+), 5 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/51/3251/1
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: newchange
Gerrit-Change-Id: I6e5068c6fe3f6226eabd5403440682c52662421e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <[email protected]>