[3/5] git commit: Backport timestamp fix for MetaDataEndPointImpl to 3.0

2014-10-17 Thread jamestaylor
Backport timestamp fix for MetaDataEndPointImpl to 3.0


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

Branch: refs/heads/3.0
Commit: 660b7d99ca1d891bcba64c8fad0e30f7fbdc47b1
Parents: d68354d
Author: James Taylor 
Authored: Thu Oct 16 17:43:42 2014 -0700
Committer: James Taylor 
Committed: Thu Oct 16 20:58:17 2014 -0700

--
 .../phoenix/coprocessor/MetaDataEndpointImpl.java   | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/660b7d99/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
index 74685d6..dd8c3cb 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
@@ -460,13 +460,14 @@ public class MetaDataEndpointImpl extends 
BaseEndpointCoprocessor implements Met
 schemaName.getString(), tableName.getString())) : 
physicalTables.get(0);
 PTableStats stats = PTableStats.EMPTY_STATS;
 if (tenantId == null) {
-HTableInterface statsHTable = 
getEnvironment().getTable(PhoenixDatabaseMetaData.SYSTEM_STATS_NAME_BYTES);
+HTableInterface statsHTable = null;
 try {
+statsHTable = 
getEnvironment().getTable(PhoenixDatabaseMetaData.SYSTEM_STATS_NAME_BYTES);
 stats = StatisticsUtil.readStatistics(statsHTable, 
physicalTableName.getBytes(), clientTimeStamp);
 } catch (org.apache.hadoop.hbase.TableNotFoundException e) {
 logger.warn(PhoenixDatabaseMetaData.SYSTEM_STATS_NAME + " not 
online yet?");
 } finally {
-statsHTable.close();
+if (statsHTable != null) statsHTable.close();
 }
 }
 return PTableImpl
@@ -508,12 +509,12 @@ public class MetaDataEndpointImpl extends 
BaseEndpointCoprocessor implements Met
 return table.getName() == null;
 }
 
-private PTable loadTable(RegionCoprocessorEnvironment env, byte[] key, 
ImmutableBytesPtr cacheKey, long clientTimeStamp) throws IOException, 
SQLException {
+private PTable loadTable(RegionCoprocessorEnvironment env, byte[] key, 
ImmutableBytesPtr cacheKey, long clientTimeStamp, long asOfTimeStamp) throws 
IOException, SQLException {
 HRegion region = env.getRegion();
 Cache metaDataCache = 
GlobalCache.getInstance(this.getEnvironment()).getMetaDataCache();
 PTable table = metaDataCache.getIfPresent(cacheKey);
 // We always cache the latest version - fault in if not in cache
-if (table != null || (table = buildTable(key, cacheKey, region, 
clientTimeStamp)) != null) {
+if (table != null || (table = buildTable(key, cacheKey, region, 
asOfTimeStamp)) != null) {
 return table;
 }
 // if not found then check if newer table already exists and add 
delete marker for timestamp found
@@ -557,7 +558,7 @@ public class MetaDataEndpointImpl extends 
BaseEndpointCoprocessor implements Met
 ImmutableBytesPtr parentCacheKey = null;
 if (parentKey != null) {
 parentCacheKey = new ImmutableBytesPtr(parentKey);
-parentTable = loadTable(env, parentKey, parentCacheKey, 
clientTimeStamp);
+parentTable = loadTable(env, parentKey, parentCacheKey, 
clientTimeStamp, clientTimeStamp);
 if (parentTable == null || isTableDeleted(parentTable)) {
 return new 
MetaDataMutationResult(MutationCode.PARENT_TABLE_NOT_FOUND, 
EnvironmentEdgeManager.currentTimeMillis(), parentTable);
 }
@@ -570,14 +571,17 @@ public class MetaDataEndpointImpl extends 
BaseEndpointCoprocessor implements Met
 ImmutableBytesPtr cacheKey = new ImmutableBytesPtr(key);
 // Get as of latest timestamp so we can detect if we have a 
newer table that already exists
 // without making an additional query
-PTable table = loadTable(env, key, cacheKey, clientTimeStamp);
+if (logger.isDebugEnabled()) logger.debug("Loading " + 
SchemaUtil.getTableName(schemaName, lockTableName) + " as of timestamp " + 
clientTimeStamp);
+PTable table = loadTable(env, key, cacheKey, clientT

[1/5] git commit: PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence calls

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/3.0 81c300cb8 -> 3f254dc4d


PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence 
calls


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

Branch: refs/heads/3.0
Commit: 2c88493763d5f2b2cc8857d6ad26208ddd8c7e74
Parents: 9833f07
Author: James Taylor 
Authored: Wed Oct 15 22:12:15 2014 -0700
Committer: James Taylor 
Committed: Thu Oct 16 20:58:17 2014 -0700

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |   5 +-
 .../query/ConnectionQueryServicesImpl.java  |  26 +--
 .../apache/phoenix/query/QueryConstants.java|   4 +-
 .../org/apache/phoenix/schema/Sequence.java |   9 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  49 +++---
 .../org/apache/phoenix/util/SchemaUtil.java |   8 -
 .../org/apache/phoenix/util/UpgradeUtil.java| 167 +++
 7 files changed, 214 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/2c884937/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 606243d..3944d9e 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -62,9 +62,8 @@ public interface MetaDataProtocol extends CoprocessorProtocol 
{
 VersionUtil.encodeVersion(PHOENIX_MAJOR_VERSION, 
PHOENIX_MINOR_VERSION, PHOENIX_PATCH_NUMBER);
 
 public static final long MIN_TABLE_TIMESTAMP = 0;
-// Incremented with the addition of INDEX_TYPE to SYSTEM.CATALOG (though 
it's unused in 3.0)
-// plus the addition of MIN_VALUE, MAX_VALUE, and CYCLE to SYSTEM.SEQUENCE.
-public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 3;
+// Incremented from 3 to 4 to salt the sequence table in 3.2/4.2
+public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 4;
 public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
 
 // TODO: pare this down to minimum, as we don't need duplicates for both 
table and column errors, nor should we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/2c884937/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 3a03401..f4d5699 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -17,10 +17,6 @@
  */
 package org.apache.phoenix.query;
 
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CYCLE_FLAG;
-import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MAX_VALUE;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MIN_VALUE;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES;
 import static 
org.apache.phoenix.query.QueryServicesOptions.DEFAULT_DROP_METADATA;
 
@@ -115,6 +111,7 @@ import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.ServerUtil;
+import org.apache.phoenix.util.UpgradeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -1328,13 +1325,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 // Ignore, as this will happen if the 
SYSTEM.CATALOG already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
 } catch (TableAlreadyExistsException ignore) {
-// This will occur if we have an older 
SYSTEM.CATALOG and we need to update it to include
-// any new columns we've added.
-metaConnection = 
addColumnsIfNotExists(metaConnection,
-  PhoenixDatabaseMetaData.SY

[4/5] git commit: PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved

2014-10-17 Thread jamestaylor
PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved


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

Branch: refs/heads/3.0
Commit: e33c99d1f24b9c93f383c8733c40573d7b005287
Parents: 2c88493
Author: James Taylor 
Authored: Thu Oct 16 23:04:36 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 00:52:57 2014 -0700

--
 .../org/apache/phoenix/end2end/SequenceIT.java  |  41 +++
 .../apache/phoenix/compile/SequenceManager.java |  28 +++--
 .../coprocessor/MetaDataEndpointImpl.java   |   3 -
 .../phoenix/expression/DelegateExpression.java  | 108 +++
 .../phoenix/parse/SequenceValueParseNode.java   |  14 ++-
 .../query/ConnectionQueryServicesImpl.java  |  12 +--
 .../org/apache/phoenix/schema/Sequence.java |  32 +++---
 7 files changed, 203 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e33c99d1/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
index 690b6c5..d610633 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.ParameterMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -1205,4 +1206,44 @@ public class SequenceIT extends BaseClientManagedTimeIT {
 + unexpectedExceptions + " missing exceptions : " + 
missingExceptions);
 }
 }
+
+@Test
+public void testValidateBeforeReserve() throws Exception {
+nextConnection();
+conn.createStatement().execute(
+"CREATE TABLE foo (k VARCHAR PRIMARY KEY, l BIGINT)");
+conn.createStatement().execute(
+"CREATE SEQUENCE foo.bar");
+
+nextConnection();
+ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT 
NEXT VALUE FOR foo.bar FROM foo");
+assertTrue(rs.next());
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('a', NEXT VALUE FOR foo.bar)");
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('b', NEXT VALUE FOR foo.bar)");
+conn.commit();
+
+nextConnection();
+rs = conn.createStatement().executeQuery("SELECT * FROM foo");
+assertTrue(rs.next());
+assertEquals("a",rs.getString(1));
+assertEquals(1,rs.getLong(2));
+assertTrue(rs.next());
+assertEquals("b",rs.getString(1));
+assertEquals(2,rs.getLong(2));
+assertFalse(rs.next());
+
+nextConnection();
+PreparedStatement stmt = conn.prepareStatement("SELECT NEXT VALUE FOR 
foo.bar FROM foo");
+ParameterMetaData md = stmt.getParameterMetaData();
+assertEquals(0,md.getParameterCount());
+rs = stmt.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertTrue(rs.next());
+assertEquals(4, rs.getLong(1));
+assertFalse(rs.next());
+}
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/e33c99d1/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 9be45a4..03091c4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -29,6 +29,7 @@ import org.apache.phoenix.expression.BaseTerminalExpression;
 import org.apache.phoenix.expression.Determinism;
 import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.parse.SequenceValueParseNode;
+import org.apache.phoenix.parse.SequenceValueParseNode.Op;
 import org.apache.phoenix.parse.TableName;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.schema.PDataType;
@@ -37,6 +38,7 @@ import org.apache.phoenix.schema.Sequence;
 import org.apache.phoenix.schema.SequenceKey;
 import org.apache.phoenix.schema.tuple.DelegateTuple;
 import org.apache.phoenix.schema.tu

[2/5] git commit: PHOENIX-1214 SYSTEM.CATALOG cannot be created when first connection to cluster is tenant-specific (Jan Van Besien)

2014-10-17 Thread jamestaylor
PHOENIX-1214 SYSTEM.CATALOG cannot be created when first connection to cluster 
is tenant-specific (Jan Van Besien)

Conflicts:

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
phoenix-core/src/main/java/org/apache/phoenix/util/JDBCUtil.java
phoenix-core/src/test/java/org/apache/phoenix/util/JDBCUtilTest.java


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

Branch: refs/heads/3.0
Commit: 9833f072285ac5983a17426821a7a4cc3a5c50fd
Parents: 660b7d9
Author: James Taylor 
Authored: Wed Oct 15 22:18:07 2014 -0700
Committer: James Taylor 
Committed: Thu Oct 16 20:58:17 2014 -0700

--
 .../phoenix/end2end/CSVCommonsLoaderIT.java |  4 ++-
 .../query/ConnectionQueryServicesImpl.java  |  4 ++-
 .../query/ConnectionlessQueryServicesImpl.java  |  4 ++-
 .../java/org/apache/phoenix/util/JDBCUtil.java  | 16 +
 .../apache/phoenix/jdbc/PhoenixDriverTest.java  | 31 -
 .../org/apache/phoenix/util/JDBCUtilTest.java   | 35 
 6 files changed, 76 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9833f072/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
index 9f36b93..f51f908 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
@@ -30,10 +30,12 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Properties;
 
 import org.apache.commons.csv.CSVParser;
 import org.apache.commons.csv.CSVRecord;
 import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixTestDriver;
 import org.apache.phoenix.schema.PArrayDataType;
 import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.util.CSVCommonsLoader;
@@ -156,7 +158,7 @@ public class CSVCommonsLoaderIT extends 
BaseHBaseManagedTimeIT {
 new StringReader(statements), null);
 globalConn.close();
 
-tenantConn = DriverManager.getConnection(getUrl() + 
";TenantId=acme").unwrap(
+tenantConn = new PhoenixTestDriver().connect(getUrl() + 
";TenantId=acme", new Properties()).unwrap(
 PhoenixConnection.class);
 
 // Upsert CSV file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9833f072/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 03ecbc9..3a03401 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -107,6 +107,7 @@ import org.apache.phoenix.schema.TableNotFoundException;
 import org.apache.phoenix.schema.stats.PTableStats;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.Closeables;
+import org.apache.phoenix.util.JDBCUtil;
 import org.apache.phoenix.util.MetaDataUtil;
 import org.apache.phoenix.util.PhoenixContextExecutor;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -1318,8 +1319,9 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 PhoenixRuntime.CURRENT_SCN_ATTRIB,
 
Long.toString(MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP));
 scnProps.remove(PhoenixRuntime.TENANT_ID_ATTRIB);
+String globalUrl = JDBCUtil.removeProperty(url, 
PhoenixRuntime.TENANT_ID_ATTRIB);
 metaConnection = new PhoenixConnection(
-ConnectionQueryServicesImpl.this, url, 
scnProps, newEmptyMetaData());
+ConnectionQueryServicesImpl.this, 
globalUrl, scnProps, newEmptyMetaData());
 try {
 
metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_TABLE_METADATA);
 } catch (NewerTableAlreadyExistsException ignore) {

[5/5] git commit: Merge branch '3.0' of https://git-wip-us.apache.org/repos/asf/phoenix into 3.0

2014-10-17 Thread jamestaylor
Merge branch '3.0' of https://git-wip-us.apache.org/repos/asf/phoenix into 3.0


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

Branch: refs/heads/3.0
Commit: 3f254dc4d46ec3615d30a57c24b5ccc4a5dbe745
Parents: e33c99d 81c300c
Author: James Taylor 
Authored: Fri Oct 17 00:53:54 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 00:53:54 2014 -0700

--
 .../ConnectionQueryServicesTestImpl.java|  2 +-
 .../org/apache/phoenix/jdbc/PhoenixDriver.java  |  2 +-
 .../phoenix/mapreduce/CsvBulkLoadTool.java  |  7 ++-
 .../phoenix/mapreduce/CsvToKeyValueMapper.java  | 21 +++-
 .../query/ConnectionQueryServicesImpl.java  |  9 -
 5 files changed, 36 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3f254dc4/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--



[3/3] git commit: Use non zero thread pool depth for tests

2014-10-17 Thread jamestaylor
Use non zero thread pool depth for tests


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

Branch: refs/heads/4.0
Commit: 0944386f8558d7b9b0fb53029cf6a8ba0c41c624
Parents: b85a9ba
Author: James Taylor 
Authored: Fri Oct 17 01:23:09 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:23:09 2014 -0700

--
 .../test/java/org/apache/phoenix/query/QueryServicesTestImpl.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0944386f/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
 
b/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
index b7a2df9..0dcef11 100644
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
+++ 
b/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
@@ -33,7 +33,7 @@ import org.apache.phoenix.util.ReadOnlyProps;
 public final class QueryServicesTestImpl extends BaseQueryServicesImpl {
 
 private static final int DEFAULT_THREAD_POOL_SIZE = 20;
-private static final int DEFAULT_QUEUE_SIZE = 0;
+private static final int DEFAULT_QUEUE_SIZE = 1000;
 // TODO: setting this down to 5mb causes insufficient memory exceptions. 
Need to investigate why
 private static final int DEFAULT_MAX_MEMORY_PERC = 30; // 30% of heap
 private static final int DEFAULT_THREAD_TIMEOUT_MS = 6*5; //5min



[1/3] git commit: PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence calls

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.0 4cd5826e7 -> 0944386f8


PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence 
calls

Conflicts:

phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java


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

Branch: refs/heads/4.0
Commit: 7e063d63d7cb29cb01e790f49d1ff42ddb042980
Parents: 4cd5826
Author: James Taylor 
Authored: Wed Oct 15 22:12:15 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:07:12 2014 -0700

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |   6 +-
 .../query/ConnectionQueryServicesImpl.java  |  22 +--
 .../apache/phoenix/query/QueryConstants.java|   4 +-
 .../org/apache/phoenix/schema/Sequence.java |   9 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  49 +++---
 .../org/apache/phoenix/util/SchemaUtil.java |   8 -
 .../org/apache/phoenix/util/UpgradeUtil.java| 167 +++
 7 files changed, 215 insertions(+), 50 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/7e063d63/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index 8e61f1b..ac1287a 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -58,9 +58,9 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 VersionUtil.encodeVersion(PHOENIX_MAJOR_VERSION, 
PHOENIX_MINOR_VERSION, PHOENIX_PATCH_NUMBER);
 
 public static final long MIN_TABLE_TIMESTAMP = 0;
-// Each time a column is added to the SYSTEM.CATALOG, this should be 
increased.
-// Adding INDEX_TYPE column for local indexing
-public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 3;
+
+// Incremented from 3 to 4 to salt the sequence table in 3.2/4.2
+public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 4;
 public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
 
 // TODO: pare this down to minimum, as we don't need duplicates for both 
table and column errors, nor should we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/7e063d63/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 977a7e7..7b1278a 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -134,6 +134,7 @@ import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.ServerUtil;
+import org.apache.phoenix.util.UpgradeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -1519,13 +1520,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 // Ignore, as this will happen if the 
SYSTEM.CATALOG already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
 } catch (TableAlreadyExistsException ignore) {
-// This will occur if we have an older 
SYSTEM.CATALOG and we need to update it to include
-// any new columns we've added.
-metaConnection = 
addColumnsIfNotExists(metaConnection, 
-  PhoenixDatabaseMetaData.SYSTEM_CATALOG, 
-  MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, 
-  PhoenixDatabaseMetaData.INDEX_TYPE + " " + 
PDataType.UNSIGNED_TINYINT.getSqlTypeName() + 
-  ", " + 
PhoenixDatabaseMetaData.INDEX_DISABLE_TIMESTAMP + " " + 
PDataType.LONG.getSqlTypeName());
 }
  

[2/3] git commit: PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved

2014-10-17 Thread jamestaylor
PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved

Conflicts:

phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java


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

Branch: refs/heads/4.0
Commit: b85a9ba6eaa78fc4871b5a7068db52519bfeeb63
Parents: 7e063d6
Author: James Taylor 
Authored: Thu Oct 16 23:04:36 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:11:04 2014 -0700

--
 .../org/apache/phoenix/end2end/SequenceIT.java  |  41 +++
 .../apache/phoenix/compile/SequenceManager.java |  28 +++--
 .../phoenix/expression/DelegateExpression.java  | 108 +++
 .../phoenix/parse/SequenceValueParseNode.java   |  14 ++-
 .../query/ConnectionQueryServicesImpl.java  |  12 +--
 .../org/apache/phoenix/schema/Sequence.java |  32 +++---
 6 files changed, 203 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b85a9ba6/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
index f8673ce..4f2b9a9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.ParameterMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -1205,4 +1206,44 @@ public class SequenceIT extends BaseClientManagedTimeIT {
 + unexpectedExceptions + " missing exceptions : " + 
missingExceptions);
 }
 }
+
+@Test
+public void testValidateBeforeReserve() throws Exception {
+nextConnection();
+conn.createStatement().execute(
+"CREATE TABLE foo (k VARCHAR PRIMARY KEY, l BIGINT)");
+conn.createStatement().execute(
+"CREATE SEQUENCE foo.bar");
+
+nextConnection();
+ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT 
NEXT VALUE FOR foo.bar FROM foo");
+assertTrue(rs.next());
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('a', NEXT VALUE FOR foo.bar)");
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('b', NEXT VALUE FOR foo.bar)");
+conn.commit();
+
+nextConnection();
+rs = conn.createStatement().executeQuery("SELECT * FROM foo");
+assertTrue(rs.next());
+assertEquals("a",rs.getString(1));
+assertEquals(1,rs.getLong(2));
+assertTrue(rs.next());
+assertEquals("b",rs.getString(1));
+assertEquals(2,rs.getLong(2));
+assertFalse(rs.next());
+
+nextConnection();
+PreparedStatement stmt = conn.prepareStatement("SELECT NEXT VALUE FOR 
foo.bar FROM foo");
+ParameterMetaData md = stmt.getParameterMetaData();
+assertEquals(0,md.getParameterCount());
+rs = stmt.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertTrue(rs.next());
+assertEquals(4, rs.getLong(1));
+assertFalse(rs.next());
+}
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b85a9ba6/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 9be45a4..03091c4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -29,6 +29,7 @@ import org.apache.phoenix.expression.BaseTerminalExpression;
 import org.apache.phoenix.expression.Determinism;
 import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.parse.SequenceValueParseNode;
+import org.apache.phoenix.parse.SequenceValueParseNode.Op;
 import org.apache.phoenix.parse.TableName;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.schema.PDataType;
@@ -37,6 +38,7 @@ import org.apache.phoenix.schema.Sequen

[2/3] git commit: PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved

2014-10-17 Thread jamestaylor
PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved

Conflicts:

phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java


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

Branch: refs/heads/master
Commit: d89cde1b8bc8144085565f7318305602a420d7c6
Parents: 10df9cf
Author: James Taylor 
Authored: Thu Oct 16 23:04:36 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:24:50 2014 -0700

--
 .../org/apache/phoenix/end2end/SequenceIT.java  |  41 +++
 .../apache/phoenix/compile/SequenceManager.java |  28 +++--
 .../phoenix/expression/DelegateExpression.java  | 108 +++
 .../phoenix/parse/SequenceValueParseNode.java   |  14 ++-
 .../query/ConnectionQueryServicesImpl.java  |  12 +--
 .../org/apache/phoenix/schema/Sequence.java |  32 +++---
 6 files changed, 203 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d89cde1b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
index f8673ce..4f2b9a9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceIT.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.ParameterMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -1205,4 +1206,44 @@ public class SequenceIT extends BaseClientManagedTimeIT {
 + unexpectedExceptions + " missing exceptions : " + 
missingExceptions);
 }
 }
+
+@Test
+public void testValidateBeforeReserve() throws Exception {
+nextConnection();
+conn.createStatement().execute(
+"CREATE TABLE foo (k VARCHAR PRIMARY KEY, l BIGINT)");
+conn.createStatement().execute(
+"CREATE SEQUENCE foo.bar");
+
+nextConnection();
+ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT 
NEXT VALUE FOR foo.bar FROM foo");
+assertTrue(rs.next());
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('a', NEXT VALUE FOR foo.bar)");
+conn.createStatement().execute(
+"UPSERT INTO foo VALUES ('b', NEXT VALUE FOR foo.bar)");
+conn.commit();
+
+nextConnection();
+rs = conn.createStatement().executeQuery("SELECT * FROM foo");
+assertTrue(rs.next());
+assertEquals("a",rs.getString(1));
+assertEquals(1,rs.getLong(2));
+assertTrue(rs.next());
+assertEquals("b",rs.getString(1));
+assertEquals(2,rs.getLong(2));
+assertFalse(rs.next());
+
+nextConnection();
+PreparedStatement stmt = conn.prepareStatement("SELECT NEXT VALUE FOR 
foo.bar FROM foo");
+ParameterMetaData md = stmt.getParameterMetaData();
+assertEquals(0,md.getParameterCount());
+rs = stmt.executeQuery();
+assertTrue(rs.next());
+assertEquals(3, rs.getLong(1));
+assertTrue(rs.next());
+assertEquals(4, rs.getLong(1));
+assertFalse(rs.next());
+}
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d89cde1b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 9be45a4..03091c4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -29,6 +29,7 @@ import org.apache.phoenix.expression.BaseTerminalExpression;
 import org.apache.phoenix.expression.Determinism;
 import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.parse.SequenceValueParseNode;
+import org.apache.phoenix.parse.SequenceValueParseNode.Op;
 import org.apache.phoenix.parse.TableName;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.schema.PDataType;
@@ -37,6 +38,7 @@ import org.apache.phoenix.schema.Seq

[3/3] git commit: Use non zero thread pool depth for tests

2014-10-17 Thread jamestaylor
Use non zero thread pool depth for tests


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

Branch: refs/heads/master
Commit: d6b71e89644d5c013dc95b071e66e0021eb884da
Parents: d89cde1
Author: James Taylor 
Authored: Fri Oct 17 01:23:09 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:25:11 2014 -0700

--
 .../test/java/org/apache/phoenix/query/QueryServicesTestImpl.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d6b71e89/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
 
b/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
index b7a2df9..0dcef11 100644
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
+++ 
b/phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java
@@ -33,7 +33,7 @@ import org.apache.phoenix.util.ReadOnlyProps;
 public final class QueryServicesTestImpl extends BaseQueryServicesImpl {
 
 private static final int DEFAULT_THREAD_POOL_SIZE = 20;
-private static final int DEFAULT_QUEUE_SIZE = 0;
+private static final int DEFAULT_QUEUE_SIZE = 1000;
 // TODO: setting this down to 5mb causes insufficient memory exceptions. 
Need to investigate why
 private static final int DEFAULT_MAX_MEMORY_PERC = 30; // 30% of heap
 private static final int DEFAULT_THREAD_TIMEOUT_MS = 6*5; //5min



[1/3] git commit: PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence calls

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master 914e7821a -> d6b71e896


PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence 
calls

Conflicts:

phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java


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

Branch: refs/heads/master
Commit: 10df9cf2d4d44583b6889ba4c57d36a8101a8352
Parents: 914e782
Author: James Taylor 
Authored: Wed Oct 15 22:12:15 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 01:24:24 2014 -0700

--
 .../phoenix/coprocessor/MetaDataProtocol.java   |   6 +-
 .../query/ConnectionQueryServicesImpl.java  |  22 +--
 .../apache/phoenix/query/QueryConstants.java|   4 +-
 .../org/apache/phoenix/schema/Sequence.java |   9 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  49 +++---
 .../org/apache/phoenix/util/SchemaUtil.java |   8 -
 .../org/apache/phoenix/util/UpgradeUtil.java| 167 +++
 7 files changed, 215 insertions(+), 50 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/10df9cf2/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
index be4bde6..aa00de3 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
@@ -59,9 +59,9 @@ public abstract class MetaDataProtocol extends 
MetaDataService {
 VersionUtil.encodeVersion(PHOENIX_MAJOR_VERSION, 
PHOENIX_MINOR_VERSION, PHOENIX_PATCH_NUMBER);
 
 public static final long MIN_TABLE_TIMESTAMP = 0;
-// Each time a column is added to the SYSTEM.CATALOG, this should be 
increased.
-// Adding INDEX_TYPE column for local indexing
-public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 3;
+
+// Incremented from 3 to 4 to salt the sequence table in 3.2/4.2
+public static final long MIN_SYSTEM_TABLE_TIMESTAMP = MIN_TABLE_TIMESTAMP 
+ 4;
 public static final int DEFAULT_MAX_META_DATA_VERSIONS = 1000;
 
 // TODO: pare this down to minimum, as we don't need duplicates for both 
table and column errors, nor should we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/10df9cf2/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 29167d6..7b6e8d8 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -134,6 +134,7 @@ import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.ServerUtil;
+import org.apache.phoenix.util.UpgradeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -1519,13 +1520,6 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 // Ignore, as this will happen if the 
SYSTEM.CATALOG already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
 } catch (TableAlreadyExistsException ignore) {
-// This will occur if we have an older 
SYSTEM.CATALOG and we need to update it to include
-// any new columns we've added.
-metaConnection = 
addColumnsIfNotExists(metaConnection, 
-  PhoenixDatabaseMetaData.SYSTEM_CATALOG, 
-  MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, 
-  PhoenixDatabaseMetaData.INDEX_TYPE + " " + 
PDataType.UNSIGNED_TINYINT.getSqlTypeName() + 
-  ", " + 
PhoenixDatabaseMetaData.INDEX_DISABLE_TIMESTAMP + " " + 
PDataType.LONG.getSqlTypeName());
   

Apache-Phoenix | 3.0 | Hadoop1 | Build Successful

2014-10-17 Thread Apache Jenkins Server
3.0 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-3.0-hadoop1/lastSuccessfulBuild/artifact/

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

Changes
[jtaylor] Backport timestamp fix for MetaDataEndPointImpl to 3.0

[jtaylor] PHOENIX-1214 SYSTEM.CATALOG cannot be created when first connection to cluster is tenant-specific (Jan Van Besien)

[jtaylor] PHOENIX-1357 Salt sequence table to prevent same RS from getting all sequence calls

[jtaylor] PHOENIX-1361 Sequence value goes backwards if sequence validated before reserved



Build failed in Jenkins: Phoenix | Master #431

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1357 Salt sequence table to prevent same RS from getting all 
sequence calls

[jtaylor] PHOENIX-1361 Sequence value goes backwards if sequence validated 
before reserved

[jtaylor] Use non zero thread pool depth for tests

--
[...truncated 447 lines...]
Tests run: 8, Failures: 0, Errors: 0, Skipped: 8, Time elapsed: 0.138 sec - in 
org.apache.phoenix.end2end.SkipRangeParallelIteratorRegionSplitterIT
Running org.apache.phoenix.end2end.CompareDecimalToLongIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.291 sec - in 
org.apache.phoenix.end2end.InMemoryOrderByIT
Running org.apache.phoenix.end2end.DynamicUpsertIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.155 sec - in 
org.apache.phoenix.end2end.DynamicUpsertIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.528 sec - in 
org.apache.phoenix.end2end.CompareDecimalToLongIT
Running org.apache.phoenix.end2end.DistinctCountIT
Running org.apache.phoenix.end2end.UpsertValuesIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.046 sec - 
in org.apache.phoenix.end2end.CreateTableIT
Running org.apache.phoenix.end2end.CustomEntityDataIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.325 sec - 
in org.apache.phoenix.end2end.DistinctCountIT
Running org.apache.phoenix.end2end.StddevIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.624 sec - in 
org.apache.phoenix.end2end.CustomEntityDataIT
Running org.apache.phoenix.end2end.DynamicColumnIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.23 sec - in 
org.apache.phoenix.end2end.DynamicColumnIT
Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.444 sec - in 
org.apache.phoenix.end2end.StddevIT
Running org.apache.phoenix.end2end.OrderByIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.427 sec - in 
org.apache.phoenix.end2end.OrderByIT
Running org.apache.phoenix.end2end.QueryIT
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.098 sec - 
in org.apache.phoenix.end2end.UpsertValuesIT
Running org.apache.phoenix.end2end.CastAndCoerceIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.514 sec - 
in org.apache.phoenix.end2end.QueryDatabaseMetaDataIT
Running org.apache.phoenix.end2end.IsNullIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.145 sec - in 
org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Running org.apache.phoenix.end2end.PercentileIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.478 sec - in 
org.apache.phoenix.end2end.IsNullIT
Running org.apache.phoenix.end2end.SequenceIT
Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.622 sec - 
in org.apache.phoenix.end2end.PercentileIT
Running org.apache.phoenix.end2end.ArrayIT
Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 83.01 sec - in 
org.apache.phoenix.end2end.NotQueryIT
Running org.apache.phoenix.end2end.DerivedTableIT
Tests run: 48, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.979 sec - 
in org.apache.phoenix.end2end.ArrayIT
Running org.apache.phoenix.end2end.VariableLengthPKIT
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.118 sec - 
in org.apache.phoenix.end2end.DerivedTableIT
Running org.apache.phoenix.end2end.ToNumberFunctionIT
Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 61.28 sec - in 
org.apache.phoenix.end2end.CastAndCoerceIT
Running org.apache.phoenix.end2end.ReadIsolationLevelIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.424 sec - in 
org.apache.phoenix.end2end.ReadIsolationLevelIT
Running org.apache.phoenix.end2end.TruncateFunctionIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.564 sec - in 
org.apache.phoenix.end2end.TruncateFunctionIT
Running org.apache.phoenix.end2end.CaseStatementIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.44 sec - in 
org.apache.phoenix.end2end.ToNumberFunctionIT
Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 61.876 sec - 
in org.apache.phoenix.end2end.SequenceIT
Running org.apache.phoenix.end2end.SpooledOrderByIT
Running org.apache.phoenix.end2end.NativeHBaseTypesIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.254 sec - in 
org.apache.phoenix.end2end.SpooledOrderByIT
Running org.apache.phoenix.end2end.RowValueConstructorIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.109 sec - in 
org.apache.phoenix.end2end.NativeHBaseTypesIT
Running org.apache.phoenix.end2end.ExtendedQueryExecIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.775 sec - in 
org.apache.phoenix.end2end.ExtendedQueryExecIT
Running org.apache.phoenix.end2end.UpsertSelectIT
Tests run: 50, Failures: 0, Er

git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master d6b71e896 -> f4a1087e4


PHOENIX-1365 Make sequence salt buckets configurable


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

Branch: refs/heads/master
Commit: f4a1087e43eded9f71ce9af9c41c47b9fc7c36a0
Parents: d6b71e8
Author: James Taylor 
Authored: Fri Oct 17 12:21:44 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 12:21:44 2014 -0700

--
 .../phoenix/end2end/index/LocalIndexIT.java |   2 +-
 .../phoenix/end2end/index/ViewIndexIT.java  |   2 +-
 .../apache/phoenix/compile/SequenceManager.java |   3 +-
 .../coprocessor/MetaDataEndpointImpl.java   |   3 +
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  15 +-
 .../phoenix/query/ConnectionQueryServices.java  |   1 +
 .../query/ConnectionQueryServicesImpl.java  |  36 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  14 +-
 .../query/DelegateConnectionQueryServices.java  |   5 +
 .../apache/phoenix/query/QueryConstants.java|   5 +-
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  13 ++
 .../apache/phoenix/schema/MetaDataClient.java   |   3 +-
 .../org/apache/phoenix/schema/Sequence.java |   7 +
 .../org/apache/phoenix/schema/SequenceKey.java  |   8 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |   9 +-
 .../org/apache/phoenix/util/SchemaUtil.java |   4 +-
 .../org/apache/phoenix/util/UpgradeUtil.java| 169 +++
 .../java/org/apache/phoenix/query/BaseTest.java |   2 +-
 .../phoenix/query/QueryServicesTestImpl.java|   9 +-
 20 files changed, 202 insertions(+), 109 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f4a1087e/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
index ef3dc77..2478317 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
@@ -161,7 +161,7 @@ public class LocalIndexIT extends BaseIndexIT {
 ResultSet rs = conn2.createStatement().executeQuery("SELECT "
 + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + ","
 + PhoenixDatabaseMetaData.SEQUENCE_NAME
-+ " FROM " + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME);
++ " FROM " + 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_ESCAPED);
 assertFalse("View index sequences should be deleted.", rs.next());
 }
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/f4a1087e/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 2503933..d4ceff4 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -82,7 +82,7 @@ public class ViewIndexIT extends BaseIndexIT {
 ResultSet rs = conn2.createStatement().executeQuery("SELECT "
 + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + ","
 + PhoenixDatabaseMetaData.SEQUENCE_NAME
-+ " FROM " + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME);
++ " FROM " + 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_ESCAPED);
 assertFalse("View index sequences should be deleted.", rs.next());
 }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/f4a1087e/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 03091c4..9ea4245 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -122,7 +122,8 @@ public class SequenceManager {
 PName tenantName = statement.getConnection().getTenantId();
 String tenantId = tenantName == null ? null : tenantName.getString();
 TableName tableName = node.getTableName();

git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.0 0944386f8 -> 183b6ec04


PHOENIX-1365 Make sequence salt buckets configurable


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

Branch: refs/heads/4.0
Commit: 183b6ec04799625813b898f4720e42b042fa1442
Parents: 0944386
Author: James Taylor 
Authored: Fri Oct 17 12:21:44 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 12:23:02 2014 -0700

--
 .../phoenix/end2end/index/LocalIndexIT.java |   2 +-
 .../phoenix/end2end/index/ViewIndexIT.java  |   2 +-
 .../apache/phoenix/compile/SequenceManager.java |   3 +-
 .../coprocessor/MetaDataEndpointImpl.java   |   3 +
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  15 +-
 .../phoenix/query/ConnectionQueryServices.java  |   1 +
 .../query/ConnectionQueryServicesImpl.java  |  36 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  14 +-
 .../query/DelegateConnectionQueryServices.java  |   5 +
 .../apache/phoenix/query/QueryConstants.java|   5 +-
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  13 ++
 .../apache/phoenix/schema/MetaDataClient.java   |   3 +-
 .../org/apache/phoenix/schema/Sequence.java |   7 +
 .../org/apache/phoenix/schema/SequenceKey.java  |   8 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |   9 +-
 .../org/apache/phoenix/util/SchemaUtil.java |   4 +-
 .../org/apache/phoenix/util/UpgradeUtil.java| 169 +++
 .../java/org/apache/phoenix/query/BaseTest.java |   2 +-
 .../phoenix/query/QueryServicesTestImpl.java|   9 +-
 20 files changed, 202 insertions(+), 109 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/183b6ec0/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
index ef3dc77..2478317 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
@@ -161,7 +161,7 @@ public class LocalIndexIT extends BaseIndexIT {
 ResultSet rs = conn2.createStatement().executeQuery("SELECT "
 + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + ","
 + PhoenixDatabaseMetaData.SEQUENCE_NAME
-+ " FROM " + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME);
++ " FROM " + 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_ESCAPED);
 assertFalse("View index sequences should be deleted.", rs.next());
 }
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/183b6ec0/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 2503933..d4ceff4 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -82,7 +82,7 @@ public class ViewIndexIT extends BaseIndexIT {
 ResultSet rs = conn2.createStatement().executeQuery("SELECT "
 + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + ","
 + PhoenixDatabaseMetaData.SEQUENCE_NAME
-+ " FROM " + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME);
++ " FROM " + 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_ESCAPED);
 assertFalse("View index sequences should be deleted.", rs.next());
 }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/phoenix/blob/183b6ec0/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 03091c4..9ea4245 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -122,7 +122,8 @@ public class SequenceManager {
 PName tenantName = statement.getConnection().getTenantId();
 String tenantId = tenantName == null ? null : tenantName.getString();
 TableName tableName = node.getTableName();
- 

git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/3.0 3f254dc4d -> b95498c55


PHOENIX-1365 Make sequence salt buckets configurable

Conflicts:

phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java

phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java

phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java

phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java

phoenix-core/src/main/java/org/apache/phoenix/query/QueryServicesOptions.java
phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java

phoenix-core/src/test/java/org/apache/phoenix/query/QueryServicesTestImpl.java


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

Branch: refs/heads/3.0
Commit: b95498c55c21160b0ed5c60650f9cfce2510ac96
Parents: 3f254dc
Author: James Taylor 
Authored: Fri Oct 17 12:21:44 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 12:40:00 2014 -0700

--
 .../phoenix/end2end/index/ViewIndexIT.java  |   2 +-
 .../apache/phoenix/compile/SequenceManager.java |   3 +-
 .../coprocessor/MetaDataEndpointImpl.java   |   3 +
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  15 +-
 .../phoenix/mapreduce/CsvBulkLoadTool.java  |   1 -
 .../phoenix/mapreduce/CsvToKeyValueMapper.java  |  23 +--
 .../phoenix/query/ConnectionQueryServices.java  |   1 +
 .../query/ConnectionQueryServicesImpl.java  |  37 ++--
 .../query/ConnectionlessQueryServicesImpl.java  |  14 +-
 .../query/DelegateConnectionQueryServices.java  |   5 +
 .../apache/phoenix/query/QueryConstants.java|   5 +-
 .../org/apache/phoenix/query/QueryServices.java |   1 +
 .../phoenix/query/QueryServicesOptions.java |  16 +-
 .../apache/phoenix/schema/MetaDataClient.java   |   3 +-
 .../org/apache/phoenix/schema/Sequence.java |   7 +
 .../org/apache/phoenix/schema/SequenceKey.java  |   8 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |  10 +-
 .../org/apache/phoenix/util/SchemaUtil.java |   4 +-
 .../org/apache/phoenix/util/UpgradeUtil.java| 169 +++
 .../java/org/apache/phoenix/query/BaseTest.java |   2 +-
 .../phoenix/query/QueryServicesTestImpl.java|  12 +-
 21 files changed, 214 insertions(+), 127 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b95498c5/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 2f9f9b6..29eb325 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -82,7 +82,7 @@ public class ViewIndexIT extends BaseIndexIT {
 ResultSet rs = conn2.createStatement().executeQuery("SELECT "
 + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + ","
 + PhoenixDatabaseMetaData.SEQUENCE_NAME
-+ " FROM " + PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME);
++ " FROM " + 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_ESCAPED);
 StringBuilder buf = new StringBuilder();
 while (rs.next()) {
 String schemaName = rs.getString(1);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b95498c5/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
index 03091c4..9ea4245 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/SequenceManager.java
@@ -122,7 +122,8 @@ public class SequenceManager {
 PName tenantName = statement.getConnection().getTenantId();
 String tenantId = tenantName == null ? null : tenantName.getString();
 TableName tableName = node.getTableName();
-SequenceKey key = new SequenceKey(tenantId, tableName.getSchemaName(), 
tableName.getTableName());
+int nSaltBuckets = 
statement.getConnection().getQueryServices().getSequenceSaltBuckets();
+SequenceKey key = new SequenceKey(tenantId, tableName.getSchemaName(), 
tableName.getTableName(), nSaltBuckets);
 SequenceValueExpression expression = sequenceMap.get(key)

Build failed in Jenkins: Phoenix | Master #432

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

--
[...truncated 6525 lines...]
  
TenantSpecificViewIndexIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
TenantSpecificViewIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SaltedTableVarLengthRowKeyIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SaltedTableVarLengthRowKeyIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SkipScanAfterManualSplitIT.doSetup:76->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SkipScanAfterManualSplitIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SaltedTableUpsertSelectIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SaltedTableUpsertSelectIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SubqueryIT.doSetup:87->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SubqueryIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
RegexpSplitFunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
RegexpSplitFunctionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
CoalesceFunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
CoalesceFunctionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
LocalIndexIT.doSetup:74->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
LocalIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SaltedIndexIT.doSetup:61->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SaltedIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
IndexMetadataIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
IndexMetadataIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
MutableIndexIT.doSetup:70->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
MutableIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
DropViewIT.doSetup:60->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
DropViewIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ViewIndexIT.doSetup:53->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ViewIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ImmutableIndexIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ImmutableIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ServerExceptionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ServerExceptionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
CSVCommonsLoaderIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
CSVCommonsLoaderIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ReverseFunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ReverseFunctionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
Aut

Build failed in Jenkins: Phoenix | 3.0 | Hadoop1 #263

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

--
[...truncated 6194 lines...]
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:113)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:94)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:58)
at 
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.712 sec - 
in org.apache.phoenix.end2end.CreateTableIT
Tests run: 44, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.441 sec - 
in org.apache.phoenix.end2end.NotQueryIT
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.72 sec - in 
org.apache.phoenix.end2end.UpsertSelectIT

Results :

Tests in error: 
  
QueryDatabaseMetaDataIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
QueryDatabaseMetaDataIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
DistinctCountIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
DistinctCountIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
GroupByIT>BaseQueryIT.doSetup:84->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
GroupByIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
FunkyNamesIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
FunkyNamesIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
ColumnProjectionOptimizationIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
ColumnProjectionOptimizationIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
SkipRangeParallelIteratorRegionSplitterIT.doSetup:335->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
SkipRangeParallelIteratorRegionSplitterIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
TopNIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
TopNIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
SequenceIT.doSetup:71->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
SequenceIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
ScanQueryIT>BaseQueryIT.doSetup:84->BaseTest.setUpTestDriver:522->BaseTest.initAndRegisterDriver:632
 ยป TableNotFound
  
ScanQueryIT>BaseClientManagedTimeIT.doTeardown:64->BaseTest.dropNonSystemTables:498->BaseTest.disableAndDropNonSystemTables:1389
 ยป NullPointer
  
UpsertValuesIT>BaseClientManagedTimeIT.doSetup:59->BaseTest.setUpTestDri

git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master f4a1087e4 -> ca3512418


PHOENIX-1365 Make sequence salt buckets configurable


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

Branch: refs/heads/master
Commit: ca35124185df93e5a6b04478bde98eed05106ae7
Parents: f4a1087
Author: James Taylor 
Authored: Fri Oct 17 13:35:17 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 13:35:17 2014 -0700

--
 .../phoenix/query/ConnectionQueryServicesImpl.java|  3 +--
 .../org/apache/phoenix/schema/MetaDataClient.java | 14 --
 .../schema/NewerTableAlreadyExistsException.java  |  9 +
 3 files changed, 18 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ca351241/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 2be059c..2abe949 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1531,8 +1531,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (NewerTableAlreadyExistsException e) {
 // Ignore, as this will happen if the 
SYSTEM.SEQUENCE already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
-PTable sequenceTable = 
ConnectionQueryServicesImpl.this.latestMetaData.getTable(new PTableKey(null, 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME));
-Integer sequenceSaltBuckets = 
sequenceTable.getBucketNum();
+Integer sequenceSaltBuckets = 
e.getTable().getBucketNum();
 nSequenceSaltBuckets = sequenceSaltBuckets == 
null ? 0 : sequenceSaltBuckets;
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ca351241/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
index 92fca0c..12a11bc 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
@@ -1461,7 +1461,9 @@ public class MetaDataClient {
 case PARENT_TABLE_NOT_FOUND:
 throw new TableNotFoundException(schemaName, 
parent.getName().getString());
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+// Add table to ConnectionQueryServices so it's cached, but 
don't add
+// it to this connection as we can't see it.
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
.setSchemaName(schemaName).setTableName(tableName).build().buildException();
@@ -1588,7 +1590,7 @@ public class MetaDataClient {
 if (!ifExists) { throw new TableNotFoundException(schemaName, 
tableName); }
 break;
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
@@ -1724,10 +1726,10 @@ public class MetaDataClient {
 }
 throw new ConcurrentTableMutationException(schemaName, tableName);
 case NEWER_TABLE_FOUND:
-if (result.getTable() != null) {
-connection.addTable(result.getTable());
-}
-throw new NewerTableAlre

Build failed in Jenkins: Phoenix | 4.0 #392

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

--
[...truncated 6347 lines...]
  
LocalIndexIT.doSetup:74->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
LocalIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
IndexMetadataIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
IndexMetadataIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
MutableIndexIT.doSetup:70->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
MutableIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ImmutableIndexIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ImmutableIndexIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
BinaryRowKeyIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
BinaryRowKeyIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
DynamicFamilyIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
DynamicFamilyIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
AlterTableIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
AlterTableIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
NthValueFunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
NthValueFunctionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
SkipScanQueryIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
SkipScanQueryIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ReadOnlyIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ReadOnlyIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
InListIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
InListIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
DeleteIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
DeleteIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
ModulusExpressionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
ModulusExpressionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  CSVCommonsLoaderIT.testCSVCommonsUpsert_MultiTenant:161 ยป TableNotFound ERROR 
...
  
PhoenixEncodeDecodeIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
PhoenixEncodeDecodeIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
DecodeFunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
DecodeFunctionIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
UpsertSelectAutoCommitIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
UpsertSelectAutoCommitIT>BaseHBaseManagedTimeIT.doTeardown:59->BaseTest.dropNonSystemTables:502->BaseTest.disableAndDropNonSystemTables:1329
 ยป NullPointer
  
MD5FunctionIT>BaseHBaseManagedTimeIT.doSetup:54->BaseTest.setUpTestDriver:526->BaseTest.initAndRegisterDriver:651
 ยป TableNotFound
  
MD5FunctionIT>BaseHBaseManagedTimeIT.doTeardow

Build failed in Jenkins: Phoenix | Master #433

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

--
[...truncated 940 lines...]
at 
org.apache.phoenix.end2end.index.MutableIndexIT.testLocalIndexWithDecimalCol(MutableIndexIT.java:1130)

testMultipleUpdatesToSingleRowWithLocalIndex(org.apache.phoenix.end2end.index.MutableIndexIT)
  Time elapsed: 3.714 sec  <<< FAILURE!
org.junit.ComparisonFailure: expected:<...R _LOCAL_IDX_T [-327[68]]
CLIENT MERGE SORT> but was:<...R _LOCAL_IDX_T [-327[59]]
CLIENT MERGE SORT>
at org.junit.Assert.assertEquals(Assert.java:115)
at org.junit.Assert.assertEquals(Assert.java:144)
at 
org.apache.phoenix.end2end.index.MutableIndexIT.testMultipleUpdatesToSingleRow(MutableIndexIT.java:817)
at 
org.apache.phoenix.end2end.index.MutableIndexIT.testMultipleUpdatesToSingleRowWithLocalIndex(MutableIndexIT.java:739)

Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 82.929 sec - 
in org.apache.phoenix.end2end.InListIT

Results :

Failed tests: 
  
TenantSpecificViewIndexIT.testUpdatableView:42->BaseTenantSpecificViewIndexIT.testUpdatableView:47->BaseTenantSpecificViewIndexIT.testUpdatableView:55->BaseTenantSpecificViewIndexIT.createAndVerifyIndex:129
 expected:<...X_T ['tenant1',-3276[8],'v2-1']> but was:<...X_T 
['tenant1',-3276[7],'v2-1']>
  
TenantSpecificViewIndexIT.testUpdatableViewsWithSameNameDifferentTenantsWithLocalIndex:57->BaseTenantSpecificViewIndexIT.testUpdatableViewsWithSameNameDifferentTenants:78->BaseTenantSpecificViewIndexIT.createAndVerifyIndex:121
 expected:<...X_T ['tenant1',-3276[8],'TIv2-1']
CLIENT ME...> but was:<...X_T ['tenant1',-3276[6],'TIv2-1']
CLIENT ME...>
  TenantSpecificViewIndexIT.testMultiCFViewIndex:62->testMultiCFViewIndex:126 
expected:<...X_MT_BASE ['a',-3276[8],'f']> but was:<...X_MT_BASE 
['a',-3276[7],'f']>
  
TenantSpecificViewIndexIT.testUpdatableViewLocalIndex:47->BaseTenantSpecificViewIndexIT.testUpdatableView:55->BaseTenantSpecificViewIndexIT.createAndVerifyIndex:121
 expected:<...X_T ['tenant1',-3276[8],'v2-1']
CLIENT MERG...> but was:<...X_T ['tenant1',-3276[5],'v2-1']
CLIENT MERG...>
  HashJoinIT.testNestedSubqueries:3635 expected:<...Join.ItemTable [-327[6]8]
 ...> but was:<...Join.ItemTable [-327[5]8]
 ...>
  HashJoinIT.testJoinWithSkipMergeOptimization:2773 expected:<...Join.ItemTable 
[-327[68]]
CLIENT MERGE SORT
...> but was:<...Join.ItemTable [-327[53]]
CLIENT MERGE SORT
...>
  HashJoinIT.testLeftJoinWithAggregation:1900 expected:<...Join.ItemTable 
[-327[68]]
SERVER...> but was:<...Join.ItemTable [-327[52]]
SERVER...>
  SubqueryIT.testInSubquery:770 "CLIENT PARALLEL 1-WAY RANGE SCAN OVER 
_LOCAL_IDX_Join.ItemTable [-32766]
CLIENT MERGE SORT
PARALLEL INNER-JOIN TABLE 0
CLIENT PARALLEL 1-WAY RANGE SCAN OVER _LOCAL_IDX_Join.SupplierTable 
[-32768]
CLIENT MERGE SORT
PARALLEL SEMI-JOIN TABLE 1 (SKIP MERGE)
CLIENT PARALLEL 1-WAY RANGE SCAN OVER Join.OrderTable 
['001'] - [*]
SERVER AGGREGATE INTO DISTINCT ROWS BY [item_id]
CLIENT MERGE SORT
DYNAMIC SERVER FILTER BY item_id IN ($281.$283)" does not match "CLIENT 
PARALLEL 1-WAY RANGE SCAN OVER _LOCAL_IDX_Join.ItemTable \[-32768\]
CLIENT MERGE SORT
PARALLEL INNER-JOIN TABLE 0
CLIENT PARALLEL 1-WAY RANGE SCAN OVER _LOCAL_IDX_Join.SupplierTable 
\[-32768\]
CLIENT MERGE SORT
PARALLEL SEMI-JOIN TABLE 1 \(SKIP MERGE\)
CLIENT PARALLEL 1-WAY RANGE SCAN OVER Join.OrderTable 
\['001'\] - \[\*\]
SERVER AGGREGATE INTO DISTINCT ROWS BY \[item_id\]
CLIENT MERGE SORT
DYNAMIC SERVER FILTER BY item_id IN \(\$\d+.\$\d+\)"
  SubqueryIT.testExistsSubquery:839 expected:<...oin.ItemTable [-3276[8]]
SERVER FILTER ...> but was:<...oin.ItemTable [-3276[4]]
SERVER FILTER ...>
  HashJoinIT.testJoinWithLimit:3682 expected:<...Join.ItemTable [-327[68]]
CLIENT MER...> but was:<...Join.ItemTable [-327[44]]
CLIENT MER...>
  HashJoinIT.testJoinPlanWithIndex:2726 expected:<...Join.ItemTable 
[-327[68,'T1'] - [-32768],'T5']
SERVER FI...> but was:<...Join.ItemTable [-327[39,'T1'] - [-32739],'T5']
SERVER FI...>
  HashJoinIT.testSelfJoin:2815 expected:<...Join.ItemTable [-327[6]8]
SERVE...> but was:<...Join.ItemTable [-327[3]8]
SERVE...>
  HashJoinIT.testRightJoinWithAggregation:1991 expected:<...Join.ItemTable 
[-327[68]]
SERVER FILTER ...> but was:<...Join.ItemTable [-327[37]]
SERVER FILTER ...>
  HashJoinIT.testStarJoin:1864 expected: but was:

[1/4] git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.0 183b6ec04 -> 19d02fa5f


PHOENIX-1365 Make sequence salt buckets configurable


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

Branch: refs/heads/4.0
Commit: cc382992f32a7754133b59e8083ece4e1ff3d47c
Parents: 183b6ec
Author: James Taylor 
Authored: Fri Oct 17 13:35:17 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 13:37:52 2014 -0700

--
 .../phoenix/query/ConnectionQueryServicesImpl.java|  3 +--
 .../org/apache/phoenix/schema/MetaDataClient.java | 14 --
 .../schema/NewerTableAlreadyExistsException.java  |  9 +
 3 files changed, 18 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/cc382992/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 8a9e4c8..fe3ae0a 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1531,8 +1531,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (NewerTableAlreadyExistsException e) {
 // Ignore, as this will happen if the 
SYSTEM.SEQUENCE already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
-PTable sequenceTable = 
ConnectionQueryServicesImpl.this.latestMetaData.getTable(new PTableKey(null, 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME));
-Integer sequenceSaltBuckets = 
sequenceTable.getBucketNum();
+Integer sequenceSaltBuckets = 
e.getTable().getBucketNum();
 nSequenceSaltBuckets = sequenceSaltBuckets == 
null ? 0 : sequenceSaltBuckets;
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cc382992/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
index 92fca0c..12a11bc 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
@@ -1461,7 +1461,9 @@ public class MetaDataClient {
 case PARENT_TABLE_NOT_FOUND:
 throw new TableNotFoundException(schemaName, 
parent.getName().getString());
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+// Add table to ConnectionQueryServices so it's cached, but 
don't add
+// it to this connection as we can't see it.
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
.setSchemaName(schemaName).setTableName(tableName).build().buildException();
@@ -1588,7 +1590,7 @@ public class MetaDataClient {
 if (!ifExists) { throw new TableNotFoundException(schemaName, 
tableName); }
 break;
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
@@ -1724,10 +1726,10 @@ public class MetaDataClient {
 }
 throw new ConcurrentTableMutationException(schemaName, tableName);
 case NEWER_TABLE_FOUND:
-if (result.getTable() != null) {
-connection.addTable(result.getTable());
-}
-throw new NewerTableAlreadyExi

[4/4] git commit: PHOENIX-973 Lexer skips unexpected characters

2014-10-17 Thread jamestaylor
PHOENIX-973 Lexer skips unexpected characters


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

Branch: refs/heads/4.0
Commit: 19d02fa5f14ae8a9f7a769eaa6d770f521246fb1
Parents: 17eb70d
Author: James Taylor 
Authored: Fri Oct 17 18:12:15 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:12:15 2014 -0700

--
 phoenix-core/src/main/antlr3/PhoenixSQL.g   | 13 ++-
 .../query/ConnectionQueryServicesImpl.java  |  2 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  4 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   | 14 +--
 .../org/apache/phoenix/util/UpgradeUtil.java| 95 
 .../apache/phoenix/parse/QueryParserTest.java   | 16 +++-
 .../java/org/apache/phoenix/query/BaseTest.java |  6 +-
 7 files changed, 96 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/19d02fa5/phoenix-core/src/main/antlr3/PhoenixSQL.g
--
diff --git a/phoenix-core/src/main/antlr3/PhoenixSQL.g 
b/phoenix-core/src/main/antlr3/PhoenixSQL.g
index 26d54a2..e2636fb 100644
--- a/phoenix-core/src/main/antlr3/PhoenixSQL.g
+++ b/phoenix-core/src/main/antlr3/PhoenixSQL.g
@@ -949,13 +949,12 @@ SL_COMMENT2: '--';
 
 // Bind names start with a colon and followed by 1 or more 
letter/digit/underscores
 BIND_NAME
-: COLON (LETTER|DIGIT|'_')+
+: COLON (DIGIT)+
 ;
 
-// Valid names can have a single underscore, but not multiple
-// Turn back on literal testing, all names are literals.
+
 NAME
-:LETTER (FIELDCHAR)* ('\"' (DBL_QUOTE_CHAR)* '\"')?
+:LETTER (FIELDCHAR)*
 |'\"' (DBL_QUOTE_CHAR)* '\"'
 ;
 
@@ -1173,4 +1172,10 @@ SL_COMMENT
 DOT
 : '.'
 ;
+
+OTHER  
+: . { if (true) // to prevent compile error
+  throw new RuntimeException("Unexpected char: '" + $text + "'"); 
} 
+;
+
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/19d02fa5/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index fe3ae0a..415fbca 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1536,7 +1536,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include
 // any new columns we've added.
-if 
(UpgradeUtil.addSaltByteToSequenceTable(metaConnection, nSaltBuckets)) {
+if 
(UpgradeUtil.upgradeSequenceTable(metaConnection, nSaltBuckets)) {
 metaConnection.removeTable(null,
 
PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA,
 
PhoenixDatabaseMetaData.TYPE_SEQUENCE,

http://git-wip-us.apache.org/repos/asf/phoenix/blob/19d02fa5/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
index 94ca549..6f82630 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
@@ -32,9 +32,9 @@ public class SequenceKey implements Comparable {
 this.tenantId = tenantId;
 this.schemaName = schemaName;
 this.sequenceName = sequenceName;
-this.key = ByteUtil.concat(nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY : 
QueryConstants.SEPARATOR_BYTE_ARRAY, tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConstants.SEPARATOR_BYTE_ARRAY, schemaName == null ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(schemaName), 
QueryConstants.SEPARATOR_BYTE_ARRAY, Bytes.toBytes(sequenceName));
+this.key = ByteUtil.concat((nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY 
: QueryConstants.SEPARATOR_BYTE_ARRAY), tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConstants

[2/4] PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
http://git-wip-us.apache.org/repos/asf/phoenix/blob/17eb70d8/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java 
b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
index 45a61a7..81f4a45 100644
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
+++ 
b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
@@ -20,15 +20,31 @@ package org.apache.phoenix.compile;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 
+import java.sql.Array;
 import java.sql.Connection;
+import java.sql.Date;
 import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
 
+import org.apache.hadoop.hbase.util.Pair;
 import org.apache.phoenix.compile.OrderByCompiler.OrderBy;
+import org.apache.phoenix.jdbc.PhoenixPreparedStatement;
 import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.BaseConnectionlessQueryTest;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PTableType;
+import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.SchemaUtil;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import com.google.common.base.Joiner;
+import com.google.common.base.Splitter;
+
 public class QueryOptimizerTest extends BaseConnectionlessQueryTest {
 
 public static final String SCHEMA_NAME = "";
@@ -306,4 +322,252 @@ public class QueryOptimizerTest extends 
BaseConnectionlessQueryTest {
 QueryPlan plan = stmt.optimizeQuery(query);
 assertEquals("T", 
plan.getTableRef().getTable().getTableName().getString());
 }
+
+@Test
+// Multi-tenant = false; Query uses index = false; Salted = true
+public void testAssertQueryPlanDetails1() throws Exception {
+testAssertQueryPlanDetails(false, false, true);
+}
+
+@Test
+// Multi-tenant = true; Query uses index = false; Salted = true
+public void testAssertQueryPlanDetails2() throws Exception {
+testAssertQueryPlanDetails(true, false, true);
+}
+
+@Test
+@Ignore // FIXME : https://issues.apache.org/jira/browse/PHOENIX-1302
+// Multi-tenant = true; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails3() throws Exception {
+testAssertQueryPlanDetails(true, true, true);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = true; Salted = true
+public void testAssertQueryPlanDetails4() throws Exception {
+testAssertQueryPlanDetails(false, true, true);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = false; Salted = false
+public void testAssertQueryPlanDetails5() throws Exception {
+testAssertQueryPlanDetails(false, false, false);
+}
+
+@Test
+// Multi-tenant = true; Query uses index = false; Salted = false
+public void testAssertQueryPlanDetails6() throws Exception {
+testAssertQueryPlanDetails(true, false, false);
+}
+
+@Test
+@Ignore // FIXME : https://issues.apache.org/jira/browse/PHOENIX-1302
+// Multi-tenant = true; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails7() throws Exception {
+testAssertQueryPlanDetails(true, true, false);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails8() throws Exception {
+testAssertQueryPlanDetails(false, true, false);
+}
+
+private void testAssertQueryPlanDetails(boolean multitenant, boolean 
useIndex, boolean salted) throws Exception {
+String sql;
+PreparedStatement stmt;
+Connection conn = DriverManager.getConnection(getUrl(), new 
Properties());
+try {
+// create table
+conn.createStatement().execute("create table "
++ "XYZ.ABC"
++ "   (organization_id char(15) not null, \n"
++ "dec DECIMAL(10,2) not null,\n"
++ "a_string_array varchar(100) array[] not null,\n"
++ "b_string varchar(100),\n"
++ "CF.a_integer integer,\n"
++ "a_date date,\n"
++ "CONSTRAINT pk PRIMARY KEY (organization_id, dec, 
a_string_array)\n"
++ ")" + (salted ? "SALT_BUCKETS=4" : "") + (multitenant == 
true ? (salted ? ",MULTI_TENANT=true" : "MULTI_TENANT=true") : ""));
+
+
+if (useIndex) {
+// create index
+conn.createStatement().execute("CREATE INDEX ABC_IDX ON 
XYZ.ABC (CF.a_in

[3/4] git commit: PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
PHOENIX-1297 Adding utility methods to get primary key information from the 
optimized query plan (Samarth Jain)


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

Branch: refs/heads/4.0
Commit: 17eb70d84940534f6d67c3599929f15f65f437a6
Parents: cc38299
Author: James Taylor 
Authored: Fri Oct 17 16:56:29 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 16:59:31 2014 -0700

--
 .../org/apache/phoenix/end2end/ArrayIT.java |   8 +-
 .../phoenix/end2end/PhoenixEncodeDecodeIT.java  | 215 ---
 .../org/apache/phoenix/end2end/QueryMoreIT.java | 141 +---
 .../org/apache/phoenix/end2end/StddevIT.java|  40 +--
 .../apache/phoenix/trace/BaseTracingTestIT.java |   3 +
 .../apache/phoenix/schema/KeyValueSchema.java   |   5 +-
 .../org/apache/phoenix/schema/PDataType.java| 108 +++---
 .../java/org/apache/phoenix/util/IndexUtil.java |  23 ++
 .../org/apache/phoenix/util/PhoenixRuntime.java | 352 +++
 .../org/apache/phoenix/util/SchemaUtil.java |  28 ++
 .../phoenix/compile/QueryOptimizerTest.java | 264 ++
 .../apache/phoenix/schema/ValueBitSetTest.java  |  43 +++
 .../phoenix/util/PhoenixEncodeDecodeTest.java   |  72 
 .../apache/phoenix/util/PhoenixRuntimeTest.java |  77 +++-
 .../phoenix/pig/PhoenixHBaseLoaderIT.java   |   7 +-
 15 files changed, 943 insertions(+), 443 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/17eb70d8/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
index 3fb276c..803f150 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
@@ -44,7 +44,6 @@ import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.StringUtil;
-import org.junit.Assert;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -1299,13 +1298,8 @@ public class ArrayIT extends BaseClientManagedTimeIT {
PreparedStatement statement = 
conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
-   Double[] doubleArr = new Double[1];
-   doubleArr[0] = 36.763;
-   Array array = conn.createArrayOf("DOUBLE", doubleArr);
PhoenixArray resultArray = (PhoenixArray) 
rs.getArray(1);
-   assertEquals(resultArray, array);
-   Assert.fail("Should have failed");
-   } catch (Exception e) {
+   assertNull(resultArray);
} finally {
conn.close();
}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/17eb70d8/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
deleted file mode 100644
index bdb0745..000
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * 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 maynot 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 applicablelaw 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.junit.Assert.assertEquals;
-
-import java.sql.Connection;
-import java.sql.Date;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.uti

[3/3] git commit: PHOENIX-973 Lexer skips unexpected characters

2014-10-17 Thread jamestaylor
PHOENIX-973 Lexer skips unexpected characters


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

Branch: refs/heads/master
Commit: c81ca27915a51fd67120df4dc662b0ceecb882dd
Parents: 3ada2e2
Author: James Taylor 
Authored: Fri Oct 17 18:12:15 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:34:59 2014 -0700

--
 phoenix-core/src/main/antlr3/PhoenixSQL.g   | 13 ++-
 .../query/ConnectionQueryServicesImpl.java  |  2 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  4 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   | 14 +--
 .../org/apache/phoenix/util/UpgradeUtil.java| 95 
 .../apache/phoenix/parse/QueryParserTest.java   | 16 +++-
 .../java/org/apache/phoenix/query/BaseTest.java |  6 +-
 7 files changed, 96 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/c81ca279/phoenix-core/src/main/antlr3/PhoenixSQL.g
--
diff --git a/phoenix-core/src/main/antlr3/PhoenixSQL.g 
b/phoenix-core/src/main/antlr3/PhoenixSQL.g
index 26d54a2..e2636fb 100644
--- a/phoenix-core/src/main/antlr3/PhoenixSQL.g
+++ b/phoenix-core/src/main/antlr3/PhoenixSQL.g
@@ -949,13 +949,12 @@ SL_COMMENT2: '--';
 
 // Bind names start with a colon and followed by 1 or more 
letter/digit/underscores
 BIND_NAME
-: COLON (LETTER|DIGIT|'_')+
+: COLON (DIGIT)+
 ;
 
-// Valid names can have a single underscore, but not multiple
-// Turn back on literal testing, all names are literals.
+
 NAME
-:LETTER (FIELDCHAR)* ('\"' (DBL_QUOTE_CHAR)* '\"')?
+:LETTER (FIELDCHAR)*
 |'\"' (DBL_QUOTE_CHAR)* '\"'
 ;
 
@@ -1173,4 +1172,10 @@ SL_COMMENT
 DOT
 : '.'
 ;
+
+OTHER  
+: . { if (true) // to prevent compile error
+  throw new RuntimeException("Unexpected char: '" + $text + "'"); 
} 
+;
+
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/c81ca279/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 2abe949..4efb4d5 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1536,7 +1536,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include
 // any new columns we've added.
-if 
(UpgradeUtil.addSaltByteToSequenceTable(metaConnection, nSaltBuckets)) {
+if 
(UpgradeUtil.upgradeSequenceTable(metaConnection, nSaltBuckets)) {
 metaConnection.removeTable(null,
 
PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA,
 
PhoenixDatabaseMetaData.TYPE_SEQUENCE,

http://git-wip-us.apache.org/repos/asf/phoenix/blob/c81ca279/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
index 94ca549..6f82630 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
@@ -32,9 +32,9 @@ public class SequenceKey implements Comparable {
 this.tenantId = tenantId;
 this.schemaName = schemaName;
 this.sequenceName = sequenceName;
-this.key = ByteUtil.concat(nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY : 
QueryConstants.SEPARATOR_BYTE_ARRAY, tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConstants.SEPARATOR_BYTE_ARRAY, schemaName == null ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(schemaName), 
QueryConstants.SEPARATOR_BYTE_ARRAY, Bytes.toBytes(sequenceName));
+this.key = ByteUtil.concat((nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY 
: QueryConstants.SEPARATOR_BYTE_ARRAY), tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConsta

[2/3] git commit: PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
PHOENIX-1297 Adding utility methods to get primary key information from the 
optimized query plan (Samarth Jain)


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

Branch: refs/heads/master
Commit: 3ada2e20cacb245e9caa0142841dc4ed7c674148
Parents: ca35124
Author: James Taylor 
Authored: Fri Oct 17 18:34:38 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:34:38 2014 -0700

--
 .../org/apache/phoenix/end2end/ArrayIT.java |   8 +-
 .../phoenix/end2end/PhoenixEncodeDecodeIT.java  | 215 ---
 .../org/apache/phoenix/end2end/QueryMoreIT.java | 141 +---
 .../org/apache/phoenix/end2end/StddevIT.java|  40 +--
 .../apache/phoenix/trace/BaseTracingTestIT.java |   3 +
 .../apache/phoenix/schema/KeyValueSchema.java   |   5 +-
 .../org/apache/phoenix/schema/PDataType.java| 108 +++---
 .../java/org/apache/phoenix/util/IndexUtil.java |  24 ++
 .../org/apache/phoenix/util/PhoenixRuntime.java | 357 ++-
 .../org/apache/phoenix/util/SchemaUtil.java |  39 +-
 .../phoenix/compile/QueryOptimizerTest.java | 264 ++
 .../apache/phoenix/schema/ValueBitSetTest.java  |  43 +++
 .../phoenix/util/PhoenixEncodeDecodeTest.java   |  72 
 .../apache/phoenix/util/PhoenixRuntimeTest.java |  77 +++-
 .../phoenix/pig/PhoenixHBaseLoaderIT.java   |   7 +-
 15 files changed, 955 insertions(+), 448 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3ada2e20/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
index 3fb276c..803f150 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
@@ -44,7 +44,6 @@ import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.StringUtil;
-import org.junit.Assert;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -1299,13 +1298,8 @@ public class ArrayIT extends BaseClientManagedTimeIT {
PreparedStatement statement = 
conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
-   Double[] doubleArr = new Double[1];
-   doubleArr[0] = 36.763;
-   Array array = conn.createArrayOf("DOUBLE", doubleArr);
PhoenixArray resultArray = (PhoenixArray) 
rs.getArray(1);
-   assertEquals(resultArray, array);
-   Assert.fail("Should have failed");
-   } catch (Exception e) {
+   assertNull(resultArray);
} finally {
conn.close();
}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3ada2e20/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
deleted file mode 100644
index bdb0745..000
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * 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 maynot 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 applicablelaw 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.junit.Assert.assertEquals;
-
-import java.sql.Connection;
-import java.sql.Date;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.

[1/3] PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master ca3512418 -> c81ca2791


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3ada2e20/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java 
b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
index 45a61a7..81f4a45 100644
--- 
a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
+++ 
b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
@@ -20,15 +20,31 @@ package org.apache.phoenix.compile;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 
+import java.sql.Array;
 import java.sql.Connection;
+import java.sql.Date;
 import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
 
+import org.apache.hadoop.hbase.util.Pair;
 import org.apache.phoenix.compile.OrderByCompiler.OrderBy;
+import org.apache.phoenix.jdbc.PhoenixPreparedStatement;
 import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.BaseConnectionlessQueryTest;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PTableType;
+import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.SchemaUtil;
+import org.junit.Ignore;
 import org.junit.Test;
 
+import com.google.common.base.Joiner;
+import com.google.common.base.Splitter;
+
 public class QueryOptimizerTest extends BaseConnectionlessQueryTest {
 
 public static final String SCHEMA_NAME = "";
@@ -306,4 +322,252 @@ public class QueryOptimizerTest extends 
BaseConnectionlessQueryTest {
 QueryPlan plan = stmt.optimizeQuery(query);
 assertEquals("T", 
plan.getTableRef().getTable().getTableName().getString());
 }
+
+@Test
+// Multi-tenant = false; Query uses index = false; Salted = true
+public void testAssertQueryPlanDetails1() throws Exception {
+testAssertQueryPlanDetails(false, false, true);
+}
+
+@Test
+// Multi-tenant = true; Query uses index = false; Salted = true
+public void testAssertQueryPlanDetails2() throws Exception {
+testAssertQueryPlanDetails(true, false, true);
+}
+
+@Test
+@Ignore // FIXME : https://issues.apache.org/jira/browse/PHOENIX-1302
+// Multi-tenant = true; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails3() throws Exception {
+testAssertQueryPlanDetails(true, true, true);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = true; Salted = true
+public void testAssertQueryPlanDetails4() throws Exception {
+testAssertQueryPlanDetails(false, true, true);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = false; Salted = false
+public void testAssertQueryPlanDetails5() throws Exception {
+testAssertQueryPlanDetails(false, false, false);
+}
+
+@Test
+// Multi-tenant = true; Query uses index = false; Salted = false
+public void testAssertQueryPlanDetails6() throws Exception {
+testAssertQueryPlanDetails(true, false, false);
+}
+
+@Test
+@Ignore // FIXME : https://issues.apache.org/jira/browse/PHOENIX-1302
+// Multi-tenant = true; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails7() throws Exception {
+testAssertQueryPlanDetails(true, true, false);
+}
+
+@Test
+// Multi-tenant = false; Query uses index = true; Salted = false
+public void testAssertQueryPlanDetails8() throws Exception {
+testAssertQueryPlanDetails(false, true, false);
+}
+
+private void testAssertQueryPlanDetails(boolean multitenant, boolean 
useIndex, boolean salted) throws Exception {
+String sql;
+PreparedStatement stmt;
+Connection conn = DriverManager.getConnection(getUrl(), new 
Properties());
+try {
+// create table
+conn.createStatement().execute("create table "
++ "XYZ.ABC"
++ "   (organization_id char(15) not null, \n"
++ "dec DECIMAL(10,2) not null,\n"
++ "a_string_array varchar(100) array[] not null,\n"
++ "b_string varchar(100),\n"
++ "CF.a_integer integer,\n"
++ "a_date date,\n"
++ "CONSTRAINT pk PRIMARY KEY (organization_id, dec, 
a_string_array)\n"
++ ")" + (salted ? "SALT_BUCKETS=4" : "") + (multitenant == 
true ? (salted ? ",MULTI_TENANT=true" : "MULTI_TENANT=true") : ""));
+
+
+if (useIndex) {
+// create index
+  

[4/4] git commit: PHOENIX-973 Lexer skips unexpected characters

2014-10-17 Thread jamestaylor
PHOENIX-973 Lexer skips unexpected characters


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

Branch: refs/heads/3.0
Commit: ef062ad250fc6203cf613dea7417160a68efabd4
Parents: cf07a5d
Author: James Taylor 
Authored: Fri Oct 17 18:12:15 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:44:58 2014 -0700

--
 phoenix-core/src/main/antlr3/PhoenixSQL.g   | 13 ++-
 .../query/ConnectionQueryServicesImpl.java  |  2 +-
 .../org/apache/phoenix/schema/SequenceKey.java  |  4 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   | 14 +--
 .../org/apache/phoenix/util/UpgradeUtil.java| 95 
 .../apache/phoenix/parse/QueryParserTest.java   | 16 +++-
 .../java/org/apache/phoenix/query/BaseTest.java |  6 +-
 7 files changed, 96 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ef062ad2/phoenix-core/src/main/antlr3/PhoenixSQL.g
--
diff --git a/phoenix-core/src/main/antlr3/PhoenixSQL.g 
b/phoenix-core/src/main/antlr3/PhoenixSQL.g
index 48049c9..4a3a8d8 100644
--- a/phoenix-core/src/main/antlr3/PhoenixSQL.g
+++ b/phoenix-core/src/main/antlr3/PhoenixSQL.g
@@ -950,13 +950,12 @@ SL_COMMENT2: '--';
 
 // Bind names start with a colon and followed by 1 or more 
letter/digit/underscores
 BIND_NAME
-: COLON (LETTER|DIGIT|'_')+
+: COLON (DIGIT)+
 ;
 
-// Valid names can have a single underscore, but not multiple
-// Turn back on literal testing, all names are literals.
+
 NAME
-:LETTER (FIELDCHAR)* ('\"' (DBL_QUOTE_CHAR)* '\"')?
+:LETTER (FIELDCHAR)*
 |'\"' (DBL_QUOTE_CHAR)* '\"'
 ;
 
@@ -1174,4 +1173,10 @@ SL_COMMENT
 DOT
 : '.'
 ;
+
+OTHER  
+: . { if (true) // to prevent compile error
+  throw new RuntimeException("Unexpected char: '" + $text + "'"); 
} 
+;
+
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ef062ad2/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 688cf42..edeb206 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1348,7 +1348,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include
 // any new columns we've added.
-if 
(UpgradeUtil.addSaltByteToSequenceTable(metaConnection, nSaltBuckets)) {
+if 
(UpgradeUtil.upgradeSequenceTable(metaConnection, nSaltBuckets)) {
 metaConnection.removeTable(null,
 
PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA,
 
PhoenixDatabaseMetaData.TYPE_SEQUENCE,

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ef062ad2/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
index 94ca549..6f82630 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceKey.java
@@ -32,9 +32,9 @@ public class SequenceKey implements Comparable {
 this.tenantId = tenantId;
 this.schemaName = schemaName;
 this.sequenceName = sequenceName;
-this.key = ByteUtil.concat(nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY : 
QueryConstants.SEPARATOR_BYTE_ARRAY, tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConstants.SEPARATOR_BYTE_ARRAY, schemaName == null ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(schemaName), 
QueryConstants.SEPARATOR_BYTE_ARRAY, Bytes.toBytes(sequenceName));
+this.key = ByteUtil.concat((nBuckets <= 0 ? ByteUtil.EMPTY_BYTE_ARRAY 
: QueryConstants.SEPARATOR_BYTE_ARRAY), tenantId == null  ? 
ByteUtil.EMPTY_BYTE_ARRAY : Bytes.toBytes(tenantId), 
QueryConstants

[3/4] git commit: PHOENIX-1365 Make sequence salt buckets configurable

2014-10-17 Thread jamestaylor
PHOENIX-1365 Make sequence salt buckets configurable

Conflicts:
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java


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

Branch: refs/heads/3.0
Commit: cf07a5dd5981e0b6dbb5d1b562bd47fee32f97dc
Parents: 878570d
Author: James Taylor 
Authored: Fri Oct 17 13:35:17 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:44:13 2014 -0700

--
 .../phoenix/query/ConnectionQueryServicesImpl.java   |  3 +--
 .../java/org/apache/phoenix/schema/MetaDataClient.java   | 11 +--
 .../phoenix/schema/NewerTableAlreadyExistsException.java |  9 +
 .../java/org/apache/phoenix/util/PhoenixRuntime.java |  3 +--
 4 files changed, 16 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/cf07a5dd/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index f1d12fc..688cf42 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -1343,8 +1343,7 @@ public class ConnectionQueryServicesImpl extends 
DelegateQueryServices implement
 } catch (NewerTableAlreadyExistsException e) {
 // Ignore, as this will happen if the 
SYSTEM.SEQUENCE already exists at this fixed timestamp.
 // A TableAlreadyExistsException is not 
thrown, since the table only exists *after* this fixed timestamp.
-PTable sequenceTable = 
ConnectionQueryServicesImpl.this.latestMetaData.getTable(new PTableKey(null, 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME));
-Integer sequenceSaltBuckets = 
sequenceTable.getBucketNum();
+Integer sequenceSaltBuckets = 
e.getTable().getBucketNum();
 nSequenceSaltBuckets = sequenceSaltBuckets == 
null ? 0 : sequenceSaltBuckets;
 } catch (TableAlreadyExistsException e) {
 // This will occur if we have an older 
SYSTEM.SEQUENCE, so we need to update it to include

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cf07a5dd/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java 
b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
index e950903..712ef5c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
@@ -1348,7 +1348,9 @@ public class MetaDataClient {
 case PARENT_TABLE_NOT_FOUND:
 throw new TableNotFoundException(schemaName, 
parent.getName().getString());
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+// Add table to ConnectionQueryServices so it's cached, but 
don't add
+// it to this connection as we can't see it.
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
.setSchemaName(schemaName).setTableName(tableName).build().buildException();
@@ -1468,7 +1470,7 @@ public class MetaDataClient {
 }
 break;
 case NEWER_TABLE_FOUND:
-throw new NewerTableAlreadyExistsException(schemaName, 
tableName);
+throw new NewerTableAlreadyExistsException(schemaName, 
tableName, result.getTable());
 case UNALLOWED_TABLE_MUTATION:
 throw new 
SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_MUTATE_TABLE)
 
.setSchemaName(schemaName).setTableName(tableName).build().buildException();
@@ -1579,10 +1581,7 @@ public class MetaDataClient {
 }
 throw new ConcurrentTableMutationException(schemaName, tableName);
 case NEWER_TABLE_FOUND:
-if (resu

[1/4] PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/3.0 b95498c55 -> ef062ad25


http://git-wip-us.apache.org/repos/asf/phoenix/blob/878570d0/phoenix-core/src/test/java/org/apache/phoenix/schema/ValueBitSetTest.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/schema/ValueBitSetTest.java 
b/phoenix-core/src/test/java/org/apache/phoenix/schema/ValueBitSetTest.java
index 9b0ebff..766917c 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/schema/ValueBitSetTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/schema/ValueBitSetTest.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.schema;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
@@ -70,6 +71,48 @@ public class ValueBitSetTest {
 }
 
 @Test
+public void testMinNullableIndex() {
+final int minNullableIndex = 4; // first 4 fields are not nullable.
+int numFields = 6;
+KeyValueSchemaBuilder builder = new 
KeyValueSchemaBuilder(minNullableIndex);
+for (int i = 0; i < numFields; i++) {
+final int fieldIndex = i;
+builder.addField(new PDatum() {
+@Override
+public boolean isNullable() {
+// not nullable till index reaches minNullableIndex
+return fieldIndex < minNullableIndex;
+}
+
+@Override
+public SortOrder getSortOrder() {
+return SortOrder.getDefault();
+}
+
+@Override
+public Integer getScale() {
+return null;
+}
+
+@Override
+public Integer getMaxLength() {
+return null;
+}
+
+@Override
+public PDataType getDataType() {
+return PDataType.values()[fieldIndex % 
PDataType.values().length];
+}
+});
+}
+KeyValueSchema kvSchema = builder.build();
+assertFalse(kvSchema.getFields().get(0).isNullable());
+assertFalse(kvSchema.getFields().get(minNullableIndex - 
1).isNullable());
+assertTrue(kvSchema.getFields().get(minNullableIndex).isNullable());
+assertTrue(kvSchema.getFields().get(minNullableIndex + 
1).isNullable());
+}
+
+@Test
 public void testNullCount() {
 int nFields = 32;
 int nRepeating = 5;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/878570d0/phoenix-core/src/test/java/org/apache/phoenix/util/PhoenixEncodeDecodeTest.java
--
diff --git 
a/phoenix-core/src/test/java/org/apache/phoenix/util/PhoenixEncodeDecodeTest.java
 
b/phoenix-core/src/test/java/org/apache/phoenix/util/PhoenixEncodeDecodeTest.java
new file mode 100644
index 000..7ddb235
--- /dev/null
+++ 
b/phoenix-core/src/test/java/org/apache/phoenix/util/PhoenixEncodeDecodeTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010 The Apache Software Foundation
+ *
+ * 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 maynot 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 applicablelaw 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.util;
+
+import static org.junit.Assert.assertEquals;
+
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.util.Arrays;
+
+import org.apache.hadoop.hbase.util.Pair;
+import org.apache.phoenix.query.BaseConnectionlessQueryTest;
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+public class PhoenixEncodeDecodeTest extends BaseConnectionlessQueryTest {
+
+@Test
+public void testDecodeValues1() throws Exception {
+testDecodeValues(false, false);
+}
+
+@Test
+public void testDecodeValues2() throws Exception {
+testDecodeValues(true, false);
+}
+
+@Test
+public void testDecodeValues3() throws Exception {
+testDecodeValues(true, true);
+}
+
+@Test
+public void testDecodeValues4() throws Exception {
+testDecodeValues(false, true);

[2/4] git commit: PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
PHOENIX-1297 Adding utility methods to get primary key information from the 
optimized query plan (Samarth Jain)


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

Branch: refs/heads/3.0
Commit: 878570d077f98b4c381c19ec44c444e7b4d75fbc
Parents: b95498c
Author: James Taylor 
Authored: Fri Oct 17 18:37:50 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 18:37:50 2014 -0700

--
 .../org/apache/phoenix/end2end/ArrayIT.java |   8 +-
 .../phoenix/end2end/PhoenixEncodeDecodeIT.java  | 215 ---
 .../org/apache/phoenix/end2end/QueryMoreIT.java | 141 ++
 .../org/apache/phoenix/end2end/StddevIT.java|  40 +--
 .../apache/phoenix/schema/KeyValueSchema.java   |   5 +-
 .../org/apache/phoenix/schema/PDataType.java| 108 
 .../java/org/apache/phoenix/util/IndexUtil.java |  20 ++
 .../org/apache/phoenix/util/PhoenixRuntime.java | 274 +++
 .../org/apache/phoenix/util/SchemaUtil.java |  27 ++
 .../phoenix/compile/QueryOptimizerTest.java | 264 ++
 .../apache/phoenix/schema/ValueBitSetTest.java  |  43 +++
 .../phoenix/util/PhoenixEncodeDecodeTest.java   |  72 +
 .../apache/phoenix/util/PhoenixRuntimeTest.java |  77 +-
 .../phoenix/pig/PhoenixHBaseLoaderIT.java   |   7 +-
 14 files changed, 935 insertions(+), 366 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/878570d0/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
index d2dbda6..f44a517 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
@@ -43,7 +43,6 @@ import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.StringUtil;
-import org.junit.Assert;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -1220,13 +1219,8 @@ public class ArrayIT extends BaseClientManagedTimeIT {
PreparedStatement statement = 
conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
-   Double[] doubleArr = new Double[1];
-   doubleArr[0] = 36.763;
-   Array array = conn.createArrayOf("DOUBLE", doubleArr);
PhoenixArray resultArray = (PhoenixArray) 
rs.getArray(1);
-   assertEquals(resultArray, array);
-   Assert.fail("Should have failed");
-   } catch (Exception e) {
+   assertNull(resultArray);
} finally {
conn.close();
}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/878570d0/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
deleted file mode 100644
index bdb0745..000
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixEncodeDecodeIT.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * 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 maynot 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 applicablelaw 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.junit.Assert.assertEquals;
-
-import java.sql.Connection;
-import java.sql.Date;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.util.Arrays;
-import java.util.Properties;
-

Build failed in Jenkins: Phoenix | Master #434

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1297 Adding utility methods to get primary key information 
from the optimized query plan (Samarth Jain)

[jtaylor] PHOENIX-973 Lexer skips unexpected characters

--
[...truncated 72561 lines...]
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:113)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:94)
at 
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:58)
at 
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

testViewAndTableAndDropCascade(org.apache.phoenix.end2end.ViewIT)  Time 
elapsed: 0.925 sec  <<< ERROR!
java.lang.ArrayIndexOutOfBoundsException: 39
at 
org.apache.phoenix.schema.PDataType$IntCodec.decodeInt(PDataType.java:6022)
at org.apache.phoenix.schema.Sequence.dropSequence(Sequence.java:515)
at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.dropSequence(ConnectionQueryServicesImpl.java:1750)
at 
org.apache.phoenix.schema.MetaDataClient.dropSequence(MetaDataClient.java:944)
at 
org.apache.phoenix.compile.DropSequenceCompiler$1.execute(DropSequenceCompiler.java:48)
at 
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:260)
at 
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:252)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at 
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:250)
at 
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1037)
at 
org.apache.phoenix.query.BaseTest.deletePriorSequences(BaseTest.java:817)
at 
org.apache.phoenix.query.BaseTest.deletePriorTables(BaseTest.java:764)
at 
org.apache.phoenix.query.BaseTest.deletePriorTables(BaseTest.java:753)
at 
org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT.cleanUpAfterTest(BaseOwnClusterHBaseManagedTimeIT.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
   

Build failed in Jenkins: Phoenix | 3.0 | Hadoop1 #264

2014-10-17 Thread Apache Jenkins Server
See 

Changes:

[jtaylor] PHOENIX-1297 Adding utility methods to get primary key information 
from the optimized query plan (Samarth Jain)

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

[jtaylor] PHOENIX-973 Lexer skips unexpected characters

--
[...truncated 425 lines...]
Running org.apache.phoenix.end2end.NthValueFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.849 sec - in 
org.apache.phoenix.end2end.EncodeFunctionIT
Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.325 sec - in 
org.apache.phoenix.end2end.NthValueFunctionIT
Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.527 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.36 sec - in 
org.apache.phoenix.end2end.ConvertTimezoneFunctionIT
Running org.apache.phoenix.end2end.QueryMoreIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.717 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
Running org.apache.phoenix.end2end.StddevIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.692 sec - in 
org.apache.phoenix.end2end.StddevIT
Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.77 sec - in 
org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Running org.apache.phoenix.end2end.ArithmeticQueryIT
Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 19.537 sec <<< 
FAILURE! - in org.apache.phoenix.end2end.QueryMoreIT
testQueryMore1(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 3.895 sec 
 <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table 
undefined. tableName="HISTORY_TABLE_00Dxtenant1"
at 
org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
at 
org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:286)
at 
org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:812)
at 
org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:266)
at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:140)
at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore1(QueryMoreIT.java:48)

testQueryMore4(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 0.594 sec 
 <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table 
undefined. tableName="HISTORY_TABLE_00Dxtenant1"
at 
org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
at 
org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:286)
at 
org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:812)
at 
org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:266)
at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:140)
at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore4(QueryMoreIT.java:66)

Running org.apache.phoenix.end2end.DeleteIT
Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 95.095 sec - 
in org.apache.phoenix.end2end.HashJoinIT
Running org.apache.phoenix.end2end.LpadFunctionIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.234 sec - 
in org.apache.phoenix.end2end.DeleteIT
Running org.apache.phoenix.end2end.StatementHintsIT
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.196 sec - 
in org.apache.phoenix.end2end.ArithmeticQueryIT
Running org.apache.phoenix.end2end.EvaluationOfORIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.613 sec - in 
org.apache.phoenix.end2end.StatementHintsIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.484 sec - in 
org.apache.phoenix.end2end.EvaluationOfORIT
Running org.apache.phoenix.end2end.FirstValueFunctionIT
Running org.apache.phoenix.end2end.RegexpSplitFunctionIT
Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 94.352 sec - 
in org.apache.phoenix.end2end.InListIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.486 sec - in 
org.apache.phoenix.end2end.LpadFunctionIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.601 sec - in 
org.apache.phoenix.end2end.FirstValueFunctionIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.335 sec - in 
org.apache.phoenix.end2end.RegexpSplitFunctionIT

Results :

Tests in error: 
  
QueryMoreIT.testQueryMore1:48->testQueryMore:140->getRecordsOutofCursorTable:266
 ยป TableNotFound
  
QueryMoreIT.tes

git commit: PHOENIX-1297 Adding utility methods to get primary key information from the optimized query plan (Samarth Jain)

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/3.0 ef062ad25 -> 7fb86082f


PHOENIX-1297 Adding utility methods to get primary key information from the 
optimized query plan (Samarth Jain)


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

Branch: refs/heads/3.0
Commit: 7fb86082fae343c821569074034003a4b38c699b
Parents: ef062ad
Author: James Taylor 
Authored: Fri Oct 17 20:36:39 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 20:36:39 2014 -0700

--
 .../src/main/java/org/apache/phoenix/util/PhoenixRuntime.java   | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/7fb86082/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java 
b/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
index 3d19692..b88095f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
@@ -283,6 +283,7 @@ public class PhoenixRuntime {
 PTable table = null;
 PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class);
 try {
+name = SchemaUtil.normalizeIdentifier(name);
 table = pconn.getMetaDataCache().getTable(new 
PTableKey(pconn.getTenantId(), name));
 } catch (TableNotFoundException e) {
 String schemaName = SchemaUtil.getSchemaNameFromFullName(name);



git commit: Kick build

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.0 19d02fa5f -> 380e60ac7


Kick build


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

Branch: refs/heads/4.0
Commit: 380e60ac7b29f6f8cc4a88cc16b99ec85051cbf3
Parents: 19d02fa
Author: James Taylor 
Authored: Fri Oct 17 20:56:20 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 20:56:20 2014 -0700

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/380e60ac/pom.xml
--
diff --git a/pom.xml b/pom.xml
index c791e9d..6c13e30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  
+http://maven.apache.org/POM/4.0.0";  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   4.0.0
   org.apache.phoenix



Jenkins build is back to normal : Phoenix | 3.0 | Hadoop1 #265

2014-10-17 Thread Apache Jenkins Server
See 



git commit: Fix test for isSequenceTable

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master c81ca2791 -> 209b5f530


Fix test for isSequenceTable


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

Branch: refs/heads/master
Commit: 209b5f5308717afb4fdecfac230f26f52cf3a82a
Parents: c81ca27
Author: James Taylor 
Authored: Fri Oct 17 21:14:52 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 21:14:52 2014 -0700

--
 phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/209b5f53/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
--
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java 
b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
index 8fa0ed9..e4d91a5 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
@@ -355,7 +355,7 @@ public class SchemaUtil {
 }
 
 public static boolean isSequenceTable(byte[] tableName) {
-return Bytes.compareTo(tableName, 
PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME_BYTES) == 0;
+return Bytes.compareTo(tableName, 
PhoenixDatabaseMetaData.SEQUENCE_FULLNAME_BYTES) == 0;
 }
 
 public static boolean isMetaTable(PTable table) {



git commit: Reverting previous unintentional change

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master 209b5f530 -> 3fcdec06f


Reverting previous unintentional change


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

Branch: refs/heads/master
Commit: 3fcdec06fd9fa9c42aa1c73bfea353336385d16f
Parents: 209b5f5
Author: James Taylor 
Authored: Fri Oct 17 21:33:36 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 21:33:36 2014 -0700

--
 .../src/main/java/org/apache/phoenix/util/SchemaUtil.java | 10 +-
 1 file changed, 1 insertion(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3fcdec06/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
--
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java 
b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
index e4d91a5..a515398 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java
@@ -166,14 +166,6 @@ public class SchemaUtil {
 return l3;
 }
 
-public static byte[] getSequenceKey(byte[] tenantId, byte[] schemaName, 
byte[] sequenceName) {
-return getTableKey(tenantId, schemaName, sequenceName);
-}
-
-public static byte[] getSequenceKey(String tenantId, String schemaName, 
String sequenceName) {
-return getTableKey(tenantId, schemaName, sequenceName);
-}
-
 /**
  * Get the key used in the Phoenix metadata row for a table definition
  * @param schemaName
@@ -363,7 +355,7 @@ public class SchemaUtil {
 }
 
 public static boolean isMetaTable(byte[] schemaName, byte[] tableName) {
-return Bytes.compareTo(schemaName, 
PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE_BYTES) == 0 && 
Bytes.compareTo(tableName, PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA_BYTES) 
== 0;
+return Bytes.compareTo(schemaName, 
PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA_BYTES) == 0 && 
Bytes.compareTo(tableName, PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE_BYTES) 
== 0;
 }
 
 public static boolean isMetaTable(String schemaName, String tableName) {



Jenkins build is back to normal : Phoenix | Master #435

2014-10-17 Thread Apache Jenkins Server
See 



Apache-Phoenix | Master | Build Successful

2014-10-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
[jtaylor] Reverting previous unintentional change



git commit: PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 branch on server

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/3.0 7fb86082f -> 7f78ad84d


PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 
branch on server


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

Branch: refs/heads/3.0
Commit: 7f78ad84deaa205885fe2cf7b0eedbe8e7051a88
Parents: 7fb8608
Author: James Taylor 
Authored: Fri Oct 17 22:36:51 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 22:36:51 2014 -0700

--
 .../main/java/org/apache/phoenix/filter/SkipScanFilter.java   | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f78ad84/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
index adeb2ac..8f2fb6a 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
@@ -493,8 +493,11 @@ public class SkipScanFilter extends FilterBase {
 }
 }
 int[] slotSpan = new int[andLen];
-for (int i = 0; i < andLen; i++) {
-slotSpan[i] = in.readInt();
+try {
+for (int i = 0; i < andLen; i++) {
+slotSpan[i] = in.readInt();
+}
+} catch (IOException e) { // Ignore as this must be a 3.1 client
 }
 this.init(slots, slotSpan, schema);
 }



git commit: PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 branch on server

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.0 380e60ac7 -> 5fe65d190


PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 
branch on server


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

Branch: refs/heads/4.0
Commit: 5fe65d19075af84f29102f9364e14f5acd82ce5f
Parents: 380e60a
Author: James Taylor 
Authored: Fri Oct 17 22:36:51 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 22:51:01 2014 -0700

--
 .../main/java/org/apache/phoenix/filter/SkipScanFilter.java   | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fe65d19/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
index 27af824..bdfafb3 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
@@ -528,8 +528,11 @@ public class SkipScanFilter extends FilterBase implements 
Writable {
 }
 }
 int[] slotSpan = new int[andLen];
-for (int i = 0; i < andLen; i++) {
-slotSpan[i] = in.readInt();
+try {
+for (int i = 0; i < andLen; i++) {
+slotSpan[i] = in.readInt();
+}
+} catch (IOException e) { // Ignore as this must be a 3.1 client
 }
 this.init(slots, slotSpan, schema);
 }



git commit: PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 branch on server

2014-10-17 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master 3fcdec06f -> 61fb5f3db


PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 
branch on server


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

Branch: refs/heads/master
Commit: 61fb5f3db0909495a366d3c4b96ee73c03adeb84
Parents: 3fcdec0
Author: James Taylor 
Authored: Fri Oct 17 22:36:51 2014 -0700
Committer: James Taylor 
Committed: Fri Oct 17 22:57:07 2014 -0700

--
 .../main/java/org/apache/phoenix/filter/SkipScanFilter.java   | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/61fb5f3d/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java 
b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
index 27af824..bdfafb3 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
@@ -528,8 +528,11 @@ public class SkipScanFilter extends FilterBase implements 
Writable {
 }
 }
 int[] slotSpan = new int[andLen];
-for (int i = 0; i < andLen; i++) {
-slotSpan[i] = in.readInt();
+try {
+for (int i = 0; i < andLen; i++) {
+slotSpan[i] = in.readInt();
+}
+} catch (IOException e) { // Ignore as this must be a 3.1 client
 }
 this.init(slots, slotSpan, schema);
 }



Apache-Phoenix | 3.0 | Hadoop1 | Build Successful

2014-10-17 Thread Apache Jenkins Server
3.0 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-3.0-hadoop1/lastSuccessfulBuild/artifact/

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

Changes
[jtaylor] PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 branch on server



Apache-Phoenix | Master | Build Successful

2014-10-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
[jtaylor] PHOENIX-1359 Backward compatibility fails with 4.1 client and current 4.0 branch on server