You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2014/12/05 23:24:50 UTC
[1/4] accumulo git commit: ACCUMULO-3385 Fix broken DateLexicoder
ordering
Repository: accumulo
Updated Branches:
refs/heads/1.6 1d288cfe5 -> a3267d3e7
refs/heads/master 2f788f482 -> 856496138
ACCUMULO-3385 Fix broken DateLexicoder ordering
Corrects the ordering so that dates before 1970 actually sort before dates
after it. This changes the internal serialization, so please see the release
notes for a workaround if you have data written with the buggy form.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a3267d3e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a3267d3e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a3267d3e
Branch: refs/heads/1.6
Commit: a3267d3e75ca55b6444cd294c78e55e19e252b43
Parents: 1d288cf
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Dec 5 17:09:13 2014 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Dec 5 17:09:13 2014 -0500
----------------------------------------------------------------------
.../core/client/lexicoder/DateLexicoder.java | 11 +++++----
.../client/lexicoder/ReverseLexicoderTest.java | 24 ++++++++++++--------
2 files changed, 20 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3267d3e/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java b/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
index c93ba70..8533bfe 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
@@ -20,20 +20,21 @@ import java.util.Date;
/**
* A lexicoder for date objects. It preserves the native Java sort order for Date.
+ *
* @since 1.6.0
*/
public class DateLexicoder implements Lexicoder<Date> {
-
- private ULongLexicoder longEncoder = new ULongLexicoder();
-
+
+ private LongLexicoder longEncoder = new LongLexicoder();
+
@Override
public byte[] encode(Date data) {
return longEncoder.encode(data.getTime());
}
-
+
@Override
public Date decode(byte[] data) {
return new Date(longEncoder.decode(data));
}
-
+
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3267d3e/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java b/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
index e6bfca8..3077645 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
@@ -17,6 +17,7 @@
package org.apache.accumulo.core.client.lexicoder;
import java.io.UnsupportedEncodingException;
+import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -29,32 +30,35 @@ public class ReverseLexicoderTest extends LexicoderTest {
assertSortOrder(new ReverseLexicoder<Long>(new LongLexicoder()), comp, Long.MIN_VALUE, 0xff1234567890abcdl, 0xffff1234567890abl, 0xffffff567890abcdl,
0xffffffff7890abcdl, 0xffffffffff90abcdl, 0xffffffffffffabcdl, 0xffffffffffffffcdl, -1l, 0l, 0x01l, 0x1234l, 0x123456l, 0x12345678l, 0x1234567890l,
0x1234567890abl, 0x1234567890abcdl, 0x1234567890abcdefl, Long.MAX_VALUE);
-
+
Comparator<String> comp2 = Collections.reverseOrder();
assertSortOrder(new ReverseLexicoder<String>(new StringLexicoder()), comp2, "a", "aa", "ab", "b", "aab");
-
+
}
-
+
/**
* Just a simple test verifying reverse indexed dates
*/
@Test
public void testReverseSortDates() throws UnsupportedEncodingException {
-
+
ReverseLexicoder<Date> revLex = new ReverseLexicoder<Date>(new DateLexicoder());
-
+
+ Calendar cal = Calendar.getInstance();
+ cal.set(1920, 1, 2, 3, 4, 5); // create an instance prior to 1970 for ACCUMULO-3385
+ Date date0 = new Date(cal.getTimeInMillis());
Date date1 = new Date();
Date date2 = new Date(System.currentTimeMillis() + 10000);
Date date3 = new Date(System.currentTimeMillis() + 500);
-
+
Comparator<Date> comparator = Collections.reverseOrder();
- assertSortOrder(revLex, comparator, date1, date2, date3);
-
+ assertSortOrder(revLex, comparator, date0, date1, date2, date3);
+
// truncate date to hours
long time = System.currentTimeMillis() - (System.currentTimeMillis() % 3600000);
Date date = new Date(time);
-
+
System.out.println(date);
-
+
}
}
[2/4] accumulo git commit: ACCUMULO-3385 Fix broken DateLexicoder
ordering
Posted by ct...@apache.org.
ACCUMULO-3385 Fix broken DateLexicoder ordering
Corrects the ordering so that dates before 1970 actually sort before dates
after it. This changes the internal serialization, so please see the release
notes for a workaround if you have data written with the buggy form.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a3267d3e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a3267d3e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a3267d3e
Branch: refs/heads/master
Commit: a3267d3e75ca55b6444cd294c78e55e19e252b43
Parents: 1d288cf
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Dec 5 17:09:13 2014 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Dec 5 17:09:13 2014 -0500
----------------------------------------------------------------------
.../core/client/lexicoder/DateLexicoder.java | 11 +++++----
.../client/lexicoder/ReverseLexicoderTest.java | 24 ++++++++++++--------
2 files changed, 20 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3267d3e/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java b/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
index c93ba70..8533bfe 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/lexicoder/DateLexicoder.java
@@ -20,20 +20,21 @@ import java.util.Date;
/**
* A lexicoder for date objects. It preserves the native Java sort order for Date.
+ *
* @since 1.6.0
*/
public class DateLexicoder implements Lexicoder<Date> {
-
- private ULongLexicoder longEncoder = new ULongLexicoder();
-
+
+ private LongLexicoder longEncoder = new LongLexicoder();
+
@Override
public byte[] encode(Date data) {
return longEncoder.encode(data.getTime());
}
-
+
@Override
public Date decode(byte[] data) {
return new Date(longEncoder.decode(data));
}
-
+
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3267d3e/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java b/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
index e6bfca8..3077645 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
@@ -17,6 +17,7 @@
package org.apache.accumulo.core.client.lexicoder;
import java.io.UnsupportedEncodingException;
+import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -29,32 +30,35 @@ public class ReverseLexicoderTest extends LexicoderTest {
assertSortOrder(new ReverseLexicoder<Long>(new LongLexicoder()), comp, Long.MIN_VALUE, 0xff1234567890abcdl, 0xffff1234567890abl, 0xffffff567890abcdl,
0xffffffff7890abcdl, 0xffffffffff90abcdl, 0xffffffffffffabcdl, 0xffffffffffffffcdl, -1l, 0l, 0x01l, 0x1234l, 0x123456l, 0x12345678l, 0x1234567890l,
0x1234567890abl, 0x1234567890abcdl, 0x1234567890abcdefl, Long.MAX_VALUE);
-
+
Comparator<String> comp2 = Collections.reverseOrder();
assertSortOrder(new ReverseLexicoder<String>(new StringLexicoder()), comp2, "a", "aa", "ab", "b", "aab");
-
+
}
-
+
/**
* Just a simple test verifying reverse indexed dates
*/
@Test
public void testReverseSortDates() throws UnsupportedEncodingException {
-
+
ReverseLexicoder<Date> revLex = new ReverseLexicoder<Date>(new DateLexicoder());
-
+
+ Calendar cal = Calendar.getInstance();
+ cal.set(1920, 1, 2, 3, 4, 5); // create an instance prior to 1970 for ACCUMULO-3385
+ Date date0 = new Date(cal.getTimeInMillis());
Date date1 = new Date();
Date date2 = new Date(System.currentTimeMillis() + 10000);
Date date3 = new Date(System.currentTimeMillis() + 500);
-
+
Comparator<Date> comparator = Collections.reverseOrder();
- assertSortOrder(revLex, comparator, date1, date2, date3);
-
+ assertSortOrder(revLex, comparator, date0, date1, date2, date3);
+
// truncate date to hours
long time = System.currentTimeMillis() - (System.currentTimeMillis() % 3600000);
Date date = new Date(time);
-
+
System.out.println(date);
-
+
}
}
[4/4] accumulo git commit: ACCUMULO-1798 Remove unused import
Posted by ct...@apache.org.
ACCUMULO-1798 Remove unused import
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/85649613
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/85649613
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/85649613
Branch: refs/heads/master
Commit: 856496138300f828b12cb3bf065df80a81031d16
Parents: e67296b
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Dec 5 17:24:06 2014 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Dec 5 17:24:06 2014 -0500
----------------------------------------------------------------------
.../src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/85649613/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
index bc75062..82e2be2 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
@@ -101,7 +101,6 @@ import org.apache.accumulo.server.master.tableOps.UserCompactionConfig;
import org.apache.accumulo.server.problems.ProblemReport;
import org.apache.accumulo.server.problems.ProblemReports;
import org.apache.accumulo.server.problems.ProblemType;
-import org.apache.accumulo.server.security.SystemCredentials;
import org.apache.accumulo.server.tablets.TabletTime;
import org.apache.accumulo.server.tablets.UniqueNameAllocator;
import org.apache.accumulo.server.util.FileUtil;
[3/4] accumulo git commit: Merge branch '1.6'
Posted by ct...@apache.org.
Merge branch '1.6'
Conflicts:
core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/e67296bb
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/e67296bb
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/e67296bb
Branch: refs/heads/master
Commit: e67296bb1fbe806c9b35827df30827ff4bf39c2c
Parents: 2f788f4 a3267d3
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Dec 5 17:20:47 2014 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Dec 5 17:20:47 2014 -0500
----------------------------------------------------------------------
.../accumulo/core/client/lexicoder/DateLexicoder.java | 11 ++++++-----
.../core/client/lexicoder/ReverseLexicoderTest.java | 6 +++++-
2 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/e67296bb/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
----------------------------------------------------------------------
diff --cc core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
index 6e594be,3077645..bde8a3f
--- a/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/lexicoder/ReverseLexicoderTest.java
@@@ -17,7 -17,7 +17,8 @@@
package org.apache.accumulo.core.client.lexicoder;
import java.io.UnsupportedEncodingException;
+import java.util.Arrays;
+ import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@@ -49,7 -52,7 +53,7 @@@ public class ReverseLexicoderTest exten
Date date3 = new Date(System.currentTimeMillis() + 500);
Comparator<Date> comparator = Collections.reverseOrder();
- assertSortOrder(revLex, comparator, Arrays.asList(date1, date2, date3));
- assertSortOrder(revLex, comparator, date0, date1, date2, date3);
++ assertSortOrder(revLex, comparator, Arrays.asList(date0, date1, date2, date3));
// truncate date to hours
long time = System.currentTimeMillis() - (System.currentTimeMillis() % 3600000);