You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ha...@apache.org on 2014/12/18 00:36:29 UTC
[14/17] activemq git commit:
https://issues.apache.org/jira/browse/AMQ-5016 - evolve the class in a
serialization compat way so that exiting kahadb stores can be read,
long field addition
https://issues.apache.org/jira/browse/AMQ-5016 - evolve the class in a serialization compat way so that exiting kahadb stores can be read, long field addition
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/902692e3
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/902692e3
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/902692e3
Branch: refs/heads/activemq-5.10.x
Commit: 902692e3ac5bb2d425f1fbd3e44648015f72a8f3
Parents: 283e3ce
Author: gtully <ga...@gmail.com>
Authored: Wed Aug 6 15:19:50 2014 +0100
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Wed Dec 17 16:46:08 2014 -0500
----------------------------------------------------------------------
.../org/apache/activemq/util/BitArrayBin.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/902692e3/activemq-client/src/main/java/org/apache/activemq/util/BitArrayBin.java
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/util/BitArrayBin.java b/activemq-client/src/main/java/org/apache/activemq/util/BitArrayBin.java
index 528144e..d988ae1 100755
--- a/activemq-client/src/main/java/org/apache/activemq/util/BitArrayBin.java
+++ b/activemq-client/src/main/java/org/apache/activemq/util/BitArrayBin.java
@@ -29,9 +29,9 @@ public class BitArrayBin implements Serializable {
private static final long serialVersionUID = 1L;
private final LinkedList<BitArray> list;
private int maxNumberOfArrays;
- private long firstIndex = -1;
+ private int firstIndex = -1; // leave 'int' for old serialization compatibility and introduce new 'long' field
private long lastInOrderBit=-1;
-
+ private long longFirstIndex=-1;
/**
* Create a BitArrayBin to a certain window size (number of messages to
* keep)
@@ -90,7 +90,7 @@ public class BitArrayBin implements Serializable {
* @return true/false
*/
public boolean getBit(long index) {
- boolean answer = index >= firstIndex;
+ boolean answer = index >= longFirstIndex;
BitArray ba = getBitArray(index);
if (ba != null) {
int offset = getOffset(index);
@@ -119,7 +119,7 @@ public class BitArrayBin implements Serializable {
int overShoot = bin - maxNumberOfArrays + 1;
while (overShoot > 0) {
list.removeFirst();
- firstIndex += BitArray.LONG_SIZE;
+ longFirstIndex += BitArray.LONG_SIZE;
list.add(new BitArray());
overShoot--;
}
@@ -143,10 +143,10 @@ public class BitArrayBin implements Serializable {
*/
private int getBin(long index) {
int answer = 0;
- if (firstIndex < 0) {
- firstIndex = (int) (index - (index % BitArray.LONG_SIZE));
- } else if (firstIndex >= 0) {
- answer = (int)((index - firstIndex) / BitArray.LONG_SIZE);
+ if (longFirstIndex < 0) {
+ longFirstIndex = (int) (index - (index % BitArray.LONG_SIZE));
+ } else if (longFirstIndex >= 0) {
+ answer = (int)((index - longFirstIndex) / BitArray.LONG_SIZE);
}
return answer;
}
@@ -159,8 +159,8 @@ public class BitArrayBin implements Serializable {
*/
private int getOffset(long index) {
int answer = 0;
- if (firstIndex >= 0) {
- answer = (int)((index - firstIndex) - (BitArray.LONG_SIZE * getBin(index)));
+ if (longFirstIndex >= 0) {
+ answer = (int)((index - longFirstIndex) - (BitArray.LONG_SIZE * getBin(index)));
}
return answer;
}
@@ -168,8 +168,8 @@ public class BitArrayBin implements Serializable {
public long getLastSetIndex() {
long result = -1;
- if (firstIndex >=0) {
- result = firstIndex;
+ if (longFirstIndex >=0) {
+ result = longFirstIndex;
BitArray last = null;
for (int lastBitArrayIndex = maxNumberOfArrays -1; lastBitArrayIndex >= 0; lastBitArrayIndex--) {
last = list.get(lastBitArrayIndex);