[1/3] phoenix git commit: PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy implementation

2014-11-17 Thread apurtell
Repository: phoenix
Updated Branches:
  refs/heads/3.2 b805aa64c - 43abdea7d
  refs/heads/4.2 e00763ee0 - ab0bcb839
  refs/heads/master bc89c9a51 - 300edd0b5


PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy 
implementation


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

Branch: refs/heads/master
Commit: 300edd0b523638461e1dd09f191d666136ec715e
Parents: bc89c9a
Author: Andrew Purtell apurt...@apache.org
Authored: Mon Nov 17 18:05:33 2014 -0800
Committer: Andrew Purtell apurt...@apache.org
Committed: Mon Nov 17 18:05:33 2014 -0800

--
 phoenix-core/pom.xml|  6 ++---
 .../DistinctValueWithCountClientAggregator.java | 17 ++
 .../DistinctValueWithCountServerAggregator.java | 24 ++--
 .../apache/phoenix/join/HashCacheClient.java|  3 ++-
 .../apache/phoenix/join/HashCacheFactory.java   | 15 
 pom.xml | 14 +---
 6 files changed, 45 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/300edd0b/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 90a7142..b98e9b2 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -276,8 +276,8 @@
   version${slf4j.version}/version
 /dependency
 dependency
-  groupIdorg.xerial.snappy/groupId
-  artifactIdsnappy-java/artifactId
+  groupIdorg.iq80.snappy/groupId
+  artifactIdsnappy/artifactId
   version${snappy.version}/version
 /dependency
 dependency
@@ -399,4 +399,4 @@
   artifactIdhadoop-minicluster/artifactId
 /dependency
   /dependencies
-/project
\ No newline at end of file
+/project

http://git-wip-us.apache.org/repos/asf/phoenix/blob/300edd0b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
index f29f46a..56ca000 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
@@ -35,6 +35,7 @@ import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
 import org.apache.phoenix.schema.tuple.Tuple;
+import org.iq80.snappy.Snappy;
 
 /**
  * Client side Aggregator which will aggregate data and find distinct values 
with number of occurrences for each.
@@ -59,14 +60,20 @@ public abstract class 
DistinctValueWithCountClientAggregator extends BaseAggrega
 PDataType resultDataType = getResultDataType();
 cachedResult = resultDataType.toObject(ptr, resultDataType, 
sortOrder);
 } else {
-InputStream is = new ByteArrayInputStream(ptr.get(), 
ptr.getOffset() + 1, ptr.getLength() - 1);
+InputStream is;
 try {
 if (Bytes.equals(ptr.get(), ptr.getOffset(), 1, 
DistinctValueWithCountServerAggregator.COMPRESS_MARKER,
 0, 1)) {
-InputStream decompressionStream = 
DistinctValueWithCountServerAggregator.COMPRESS_ALGO
-.createDecompressionStream(is,
-
DistinctValueWithCountServerAggregator.COMPRESS_ALGO.getDecompressor(), 0);
-is = decompressionStream;
+// This reads the uncompressed length from the front of 
the compressed input
+int uncompressedLength = 
Snappy.getUncompressedLength(ptr.get(), ptr.getOffset() + 1);
+byte[] uncompressed = new byte[uncompressedLength];
+// This will throw CorruptionException, a RuntimeException 
if the snappy data is invalid.
+// We're making a RuntimeException out of a checked 
IOException below so assume it's ok
+// to let any CorruptionException escape.
+Snappy.uncompress(ptr.get(), ptr.getOffset() + 1, 
ptr.getLength() - 1, uncompressed, 0);
+is = new ByteArrayInputStream(uncompressed, 0, 
uncompressedLength);
+} else {
+is = new 

[3/3] phoenix git commit: PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy implementation

2014-11-17 Thread apurtell
PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy 
implementation

Conflicts:
phoenix-core/pom.xml

phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
pom.xml


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

Branch: refs/heads/3.2
Commit: 43abdea7d67f0de11a0d23f7c1d5fddadf039607
Parents: b805aa6
Author: Andrew Purtell apurt...@apache.org
Authored: Mon Nov 17 18:05:33 2014 -0800
Committer: Andrew Purtell apurt...@apache.org
Committed: Mon Nov 17 18:10:49 2014 -0800

--
 phoenix-core/pom.xml|  5 
 .../DistinctValueWithCountClientAggregator.java | 17 ++
 .../DistinctValueWithCountServerAggregator.java | 24 ++--
 .../apache/phoenix/join/HashCacheClient.java|  3 ++-
 .../apache/phoenix/join/HashCacheFactory.java   | 15 
 pom.xml | 14 +---
 6 files changed, 47 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/43abdea7/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index e331db3..9c6d183 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -272,6 +272,11 @@
   artifactIdjackson-xc/artifactId
 /dependency
 dependency
+  groupIdorg.iq80.snappy/groupId
+  artifactIdsnappy/artifactId
+  version${snappy.version}/version
+/dependency
+dependency
   groupIdcom.google.code.findbugs/groupId
   artifactIdjsr305/artifactId
 /dependency

http://git-wip-us.apache.org/repos/asf/phoenix/blob/43abdea7/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
index f29f46a..56ca000 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
@@ -35,6 +35,7 @@ import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
 import org.apache.phoenix.schema.tuple.Tuple;
+import org.iq80.snappy.Snappy;
 
 /**
  * Client side Aggregator which will aggregate data and find distinct values 
with number of occurrences for each.
@@ -59,14 +60,20 @@ public abstract class 
DistinctValueWithCountClientAggregator extends BaseAggrega
 PDataType resultDataType = getResultDataType();
 cachedResult = resultDataType.toObject(ptr, resultDataType, 
sortOrder);
 } else {
-InputStream is = new ByteArrayInputStream(ptr.get(), 
ptr.getOffset() + 1, ptr.getLength() - 1);
+InputStream is;
 try {
 if (Bytes.equals(ptr.get(), ptr.getOffset(), 1, 
DistinctValueWithCountServerAggregator.COMPRESS_MARKER,
 0, 1)) {
-InputStream decompressionStream = 
DistinctValueWithCountServerAggregator.COMPRESS_ALGO
-.createDecompressionStream(is,
-
DistinctValueWithCountServerAggregator.COMPRESS_ALGO.getDecompressor(), 0);
-is = decompressionStream;
+// This reads the uncompressed length from the front of 
the compressed input
+int uncompressedLength = 
Snappy.getUncompressedLength(ptr.get(), ptr.getOffset() + 1);
+byte[] uncompressed = new byte[uncompressedLength];
+// This will throw CorruptionException, a RuntimeException 
if the snappy data is invalid.
+// We're making a RuntimeException out of a checked 
IOException below so assume it's ok
+// to let any CorruptionException escape.
+Snappy.uncompress(ptr.get(), ptr.getOffset() + 1, 
ptr.getLength() - 1, uncompressed, 0);
+is = new ByteArrayInputStream(uncompressed, 0, 
uncompressedLength);
+} else {
+is = new ByteArrayInputStream(ptr.get(), ptr.getOffset() + 
1, ptr.getLength() - 1);
 }
 

[2/3] phoenix git commit: PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy implementation

2014-11-17 Thread apurtell
PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy 
implementation

Conflicts:
phoenix-core/src/main/java/org/apache/phoenix/join/HashCacheFactory.java


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

Branch: refs/heads/4.2
Commit: ab0bcb8393ae01c063fa30ef7902f0a1c594f804
Parents: e00763e
Author: Andrew Purtell apurt...@apache.org
Authored: Mon Nov 17 18:05:33 2014 -0800
Committer: Andrew Purtell apurt...@apache.org
Committed: Mon Nov 17 18:07:02 2014 -0800

--
 phoenix-core/pom.xml|  6 ++---
 .../DistinctValueWithCountClientAggregator.java | 17 ++
 .../DistinctValueWithCountServerAggregator.java | 24 ++--
 .../apache/phoenix/join/HashCacheClient.java|  3 ++-
 .../apache/phoenix/join/HashCacheFactory.java   | 15 
 pom.xml | 14 +---
 6 files changed, 45 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ab0bcb83/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 6b8676b..146f709 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -276,8 +276,8 @@
   version${slf4j.version}/version
 /dependency
 dependency
-  groupIdorg.xerial.snappy/groupId
-  artifactIdsnappy-java/artifactId
+  groupIdorg.iq80.snappy/groupId
+  artifactIdsnappy/artifactId
   version${snappy.version}/version
 /dependency
 dependency
@@ -399,4 +399,4 @@
   artifactIdhadoop-minicluster/artifactId
 /dependency
   /dependencies
-/project
\ No newline at end of file
+/project

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ab0bcb83/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
index f29f46a..56ca000 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
@@ -35,6 +35,7 @@ import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
 import org.apache.phoenix.schema.tuple.Tuple;
+import org.iq80.snappy.Snappy;
 
 /**
  * Client side Aggregator which will aggregate data and find distinct values 
with number of occurrences for each.
@@ -59,14 +60,20 @@ public abstract class 
DistinctValueWithCountClientAggregator extends BaseAggrega
 PDataType resultDataType = getResultDataType();
 cachedResult = resultDataType.toObject(ptr, resultDataType, 
sortOrder);
 } else {
-InputStream is = new ByteArrayInputStream(ptr.get(), 
ptr.getOffset() + 1, ptr.getLength() - 1);
+InputStream is;
 try {
 if (Bytes.equals(ptr.get(), ptr.getOffset(), 1, 
DistinctValueWithCountServerAggregator.COMPRESS_MARKER,
 0, 1)) {
-InputStream decompressionStream = 
DistinctValueWithCountServerAggregator.COMPRESS_ALGO
-.createDecompressionStream(is,
-
DistinctValueWithCountServerAggregator.COMPRESS_ALGO.getDecompressor(), 0);
-is = decompressionStream;
+// This reads the uncompressed length from the front of 
the compressed input
+int uncompressedLength = 
Snappy.getUncompressedLength(ptr.get(), ptr.getOffset() + 1);
+byte[] uncompressed = new byte[uncompressedLength];
+// This will throw CorruptionException, a RuntimeException 
if the snappy data is invalid.
+// We're making a RuntimeException out of a checked 
IOException below so assume it's ok
+// to let any CorruptionException escape.
+Snappy.uncompress(ptr.get(), ptr.getOffset() + 1, 
ptr.getLength() - 1, uncompressed, 0);
+is = new ByteArrayInputStream(uncompressed, 0, 
uncompressedLength);
+} else {
+is = new ByteArrayInputStream(ptr.get(), ptr.getOffset() + 
1, ptr.getLength() 

Apache-Phoenix | Master | Build Successful

2014-11-17 Thread Apache Jenkins Server
Master branch build status Successful
Source repository https://git-wip-us.apache.org/repos/asf/phoenix.git

Last Successful Compiled Artifacts https://builds.apache.org/job/Phoenix-master/lastSuccessfulBuild/artifact/

Last Complete Test Report https://builds.apache.org/job/Phoenix-master/lastCompletedBuild/testReport/

Changes
[apurtell] PHOENIX-1455 Replace org.xerial.snappy with org.iq80.snappy pure Java snappy implementation



phoenix git commit: Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)

2014-11-17 Thread ramkrishna
Repository: phoenix
Updated Branches:
  refs/heads/master 300edd0b5 - d1d580a39


Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)


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

Branch: refs/heads/master
Commit: d1d580a39e2048d0ba814c48dac721603b4a7523
Parents: 300edd0
Author: Ramkrishna ramkrishna.s.vasude...@intel.com
Authored: Tue Nov 18 11:37:42 2014 +0530
Committer: Ramkrishna ramkrishna.s.vasude...@intel.com
Committed: Tue Nov 18 11:37:42 2014 +0530

--
 .../end2end/CountDistinctCompressionIT.java | 71 
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d1d580a3/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
new file mode 100644
index 000..97703f5
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+@Category(NeedsOwnMiniClusterTest.class)
+public class CountDistinctCompressionIT extends 
BaseOwnClusterHBaseManagedTimeIT {
+@BeforeClass
+public static void doSetup() throws Exception {
+MapString, String props = Maps.newHashMapWithExpectedSize(3);
+// Must update config before starting server
+props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, 
Long.toString(1));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
+@Test
+public void testDistinctCountOnColumn() throws Exception {
+String tenantId = getOrganizationId();
+initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, 
getUrl());
+
+String query = SELECT count(DISTINCT A_STRING) FROM aTable;
+
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+Connection conn = DriverManager.getConnection(getUrl(), props);
+try {
+PreparedStatement statement = conn.prepareStatement(query);
+ResultSet rs = statement.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertFalse(rs.next());
+} finally {
+conn.close();
+}
+}
+}



phoenix git commit: Phoenix-1462 Create unit test for COUNT DISTINCT using compression (Ram)

2014-11-17 Thread ramkrishna
Repository: phoenix
Updated Branches:
  refs/heads/4.2 ab0bcb839 - e4ac94a1f


Phoenix-1462 Create unit test for COUNT DISTINCT using compression (Ram)


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

Branch: refs/heads/4.2
Commit: e4ac94a1f245b475d3cd2748ac3b80c49aab566a
Parents: ab0bcb8
Author: Ramkrishna ramkrishna.s.vasude...@intel.com
Authored: Tue Nov 18 11:38:58 2014 +0530
Committer: Ramkrishna ramkrishna.s.vasude...@intel.com
Committed: Tue Nov 18 11:38:58 2014 +0530

--
 .../end2end/CountDistinctCompressionIT.java | 71 
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e4ac94a1/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
new file mode 100644
index 000..97703f5
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+@Category(NeedsOwnMiniClusterTest.class)
+public class CountDistinctCompressionIT extends 
BaseOwnClusterHBaseManagedTimeIT {
+@BeforeClass
+public static void doSetup() throws Exception {
+MapString, String props = Maps.newHashMapWithExpectedSize(3);
+// Must update config before starting server
+props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, 
Long.toString(1));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
+@Test
+public void testDistinctCountOnColumn() throws Exception {
+String tenantId = getOrganizationId();
+initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, 
getUrl());
+
+String query = SELECT count(DISTINCT A_STRING) FROM aTable;
+
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+Connection conn = DriverManager.getConnection(getUrl(), props);
+try {
+PreparedStatement statement = conn.prepareStatement(query);
+ResultSet rs = statement.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertFalse(rs.next());
+} finally {
+conn.close();
+}
+}
+}



phoenix git commit: Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)

2014-11-17 Thread ramkrishna
Repository: phoenix
Updated Branches:
  refs/heads/3.2 43abdea7d - 61f60c24d


Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)


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

Branch: refs/heads/3.2
Commit: 61f60c24d3794ae282a8a0114634a49f10a1cf32
Parents: 43abdea
Author: Ramkrishna ramkrishna.s.vasude...@intel.com
Authored: Tue Nov 18 11:50:13 2014 +0530
Committer: Ramkrishna ramkrishna.s.vasude...@intel.com
Committed: Tue Nov 18 11:50:13 2014 +0530

--
 .../end2end/CountDistinctCompressionIT.java | 71 
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/61f60c24/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
new file mode 100644
index 000..97703f5
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+@Category(NeedsOwnMiniClusterTest.class)
+public class CountDistinctCompressionIT extends 
BaseOwnClusterHBaseManagedTimeIT {
+@BeforeClass
+public static void doSetup() throws Exception {
+MapString, String props = Maps.newHashMapWithExpectedSize(3);
+// Must update config before starting server
+props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, 
Long.toString(1));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
+@Test
+public void testDistinctCountOnColumn() throws Exception {
+String tenantId = getOrganizationId();
+initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, 
getUrl());
+
+String query = SELECT count(DISTINCT A_STRING) FROM aTable;
+
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+Connection conn = DriverManager.getConnection(getUrl(), props);
+try {
+PreparedStatement statement = conn.prepareStatement(query);
+ResultSet rs = statement.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertFalse(rs.next());
+} finally {
+conn.close();
+}
+}
+}



Apache-Phoenix | Master | Build Successful

2014-11-17 Thread Apache Jenkins Server
Master branch build status Successful
Source repository https://git-wip-us.apache.org/repos/asf/phoenix.git

Last Successful Compiled Artifacts https://builds.apache.org/job/Phoenix-master/lastSuccessfulBuild/artifact/

Last Complete Test Report https://builds.apache.org/job/Phoenix-master/lastCompletedBuild/testReport/

Changes
[ramkrishna] Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)



phoenix git commit: Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)

2014-11-17 Thread ramkrishna
Repository: phoenix
Updated Branches:
  refs/heads/4.0 ebc7ee42c - 0e13b9ba1


Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)


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

Branch: refs/heads/4.0
Commit: 0e13b9ba146339617866db632aaa0929c910e254
Parents: ebc7ee4
Author: Ramkrishna ramkrishna.s.vasude...@intel.com
Authored: Tue Nov 18 12:25:00 2014 +0530
Committer: Ramkrishna ramkrishna.s.vasude...@intel.com
Committed: Tue Nov 18 12:25:00 2014 +0530

--
 .../end2end/CountDistinctCompressionIT.java | 71 
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0e13b9ba/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
new file mode 100644
index 000..97703f5
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+@Category(NeedsOwnMiniClusterTest.class)
+public class CountDistinctCompressionIT extends 
BaseOwnClusterHBaseManagedTimeIT {
+@BeforeClass
+public static void doSetup() throws Exception {
+MapString, String props = Maps.newHashMapWithExpectedSize(3);
+// Must update config before starting server
+props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, 
Long.toString(1));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
+@Test
+public void testDistinctCountOnColumn() throws Exception {
+String tenantId = getOrganizationId();
+initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, 
getUrl());
+
+String query = SELECT count(DISTINCT A_STRING) FROM aTable;
+
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+Connection conn = DriverManager.getConnection(getUrl(), props);
+try {
+PreparedStatement statement = conn.prepareStatement(query);
+ResultSet rs = statement.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertFalse(rs.next());
+} finally {
+conn.close();
+}
+}
+}



phoenix git commit: Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)

2014-11-17 Thread ramkrishna
Repository: phoenix
Updated Branches:
  refs/heads/3.0 c647c6a28 - c77120e98


Phoenix-1462 - Create unit test for COUNT DISTINCT using compression (Ram)


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

Branch: refs/heads/3.0
Commit: c77120e9816f03221fa5d002ce35881e1555e1bf
Parents: c647c6a
Author: Ramkrishna ramkrishna.s.vasude...@intel.com
Authored: Tue Nov 18 12:31:35 2014 +0530
Committer: Ramkrishna ramkrishna.s.vasude...@intel.com
Committed: Tue Nov 18 12:31:35 2014 +0530

--
 .../end2end/CountDistinctCompressionIT.java | 71 
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/c77120e9/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
new file mode 100644
index 000..97703f5
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.PropertiesUtil;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import com.google.common.collect.Maps;
+
+@Category(NeedsOwnMiniClusterTest.class)
+public class CountDistinctCompressionIT extends 
BaseOwnClusterHBaseManagedTimeIT {
+@BeforeClass
+public static void doSetup() throws Exception {
+MapString, String props = Maps.newHashMapWithExpectedSize(3);
+// Must update config before starting server
+props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, 
Long.toString(1));
+setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
+}
+
+@Test
+public void testDistinctCountOnColumn() throws Exception {
+String tenantId = getOrganizationId();
+initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, 
getUrl());
+
+String query = SELECT count(DISTINCT A_STRING) FROM aTable;
+
+Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+Connection conn = DriverManager.getConnection(getUrl(), props);
+try {
+PreparedStatement statement = conn.prepareStatement(query);
+ResultSet rs = statement.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertFalse(rs.next());
+} finally {
+conn.close();
+}
+}
+}



Jenkins build is unstable: Phoenix | 4.0 #464

2014-11-17 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-4.0/464/changes