You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/03/10 20:10:12 UTC

asterixdb git commit: [NO ISSUE][TXN] Fix txnid leak (off by one)

Repository: asterixdb
Updated Branches:
  refs/heads/master 06cec01bb -> bd4107ffc


[NO ISSUE][TXN] Fix txnid leak (off by one)

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Fix leak of one id at start of each allocated block
- Increase block size from 100 -> 512

Change-Id: Ia97d8472f30ef0f68c51830b4cbb4660184d7393
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2465
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/bd4107ff
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/bd4107ff
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/bd4107ff

Branch: refs/heads/master
Commit: bd4107ffcdf6b59dd3d98f66caf4c88b028f38f9
Parents: 06cec01
Author: Michael Blow <mb...@apache.org>
Authored: Fri Mar 9 10:59:44 2018 -0800
Committer: Michael Blow <mb...@apache.org>
Committed: Sat Mar 10 12:09:55 2018 -0800

----------------------------------------------------------------------
 .../main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java | 2 +-
 .../java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/bd4107ff/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java
index d44bb13..6b3b6a0 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/CachingTxnIdFactory.java
@@ -89,7 +89,7 @@ class CachingTxnIdFactory implements ITxnIdFactory {
         }
 
         private long nextId() throws BlockExhaustedException {
-            long nextId = id.incrementAndGet();
+            long nextId = id.getAndIncrement();
             if (nextId >= endExclusive && (endExclusive >= start || nextId < start)) {
                 throw BLOCK_EXHAUSTED_EXCEPTION;
             }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/bd4107ff/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java
index b8578ec..4e1c3b1 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/TxnIdBlockRequest.java
@@ -33,7 +33,7 @@ import org.apache.logging.log4j.Logger;
 
 public class TxnIdBlockRequest implements ICcAddressedMessage {
     private static final Logger LOGGER = LogManager.getLogger();
-    private static final int BLOCK_SIZE = 100;
+    private static final int BLOCK_SIZE = 512;
     private static final long serialVersionUID = 1L;
 
     private static BlockingQueue<TxnIdBlockResponse> blockQueue = new LinkedBlockingQueue<>();