[2/9] phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-22 Thread pboado
PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/4.x-cdh5.11.2
Commit: 71b528b280a551904a2807ce4597b7bcb9235733
Parents: 4debdd1
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 14:08:03 2018 +
Committer: Pedro Boado 
Committed: Wed Mar 21 20:17:40 2018 +

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 59 
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 65 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/71b528b2/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 409e98f..dc3e5d3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -263,4 +263,63 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+List regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+}
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[25-j], rs.getString("t_id"));
+assertEquals(25-j, rs.getInt("k1"));
+assertEquals(strings[j], rs.getString("V1"));
+}
+query = "SELECT t_id,k1,k3 FROM " + tableName;
+rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[j], rs.getString("t_id"));
+assertEquals(j, rs.getInt("k1"));
+assertEquals(j + 2, rs.getInt("k3"));
+}
+} finally {
+conn1.close();
+}
+}
 }


phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-20 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 9e936094c -> 37b1e1162


PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-0.98
Commit: 37b1e11626e5399093447144c53edbbd860df1fc
Parents: 9e93609
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 20:51:05 2018 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Tue Mar 20 20:51:05 2018 +0530

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 68 ++--
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 70 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/37b1e116/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 5feea09..c1333dd 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -84,8 +84,6 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 conn.close();
 }
 
-// Moved from LocalIndexIT because it was causing parallel runs to hang
-@Ignore
 @Test
 public void testLocalIndexScanAfterRegionSplit() throws Exception {
 String schemaName = generateUniqueName();
@@ -182,8 +180,6 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
-// Moved from LocalIndexIT because it was causing parallel runs to hang
-@Ignore
 @Test
 public void testLocalIndexScanAfterRegionsMerge() throws Exception {
 String schemaName = generateUniqueName();
@@ -273,4 +269,68 @@ public class LocalIndexSplitMergeIT extends BaseTest {
}
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+CatalogTracker ct = new CatalogTracker(admin.getConfiguration());
+List regionsOfUserTable =
+MetaReader.getTableRegions(ct,
+physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+MetaReader.getTableRegions(ct,
+physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+MetaReader.getTableRegions(ct,
+physicalTableName, false);
+}
+assertEquals(3, regionsOfUserTable.size());
+
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+Thread.sleep(1000);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+

phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-20 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.3 ee948f0f1 -> eaa6cdd2d


PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-1.3
Commit: eaa6cdd2dc6f1102f6e7e6943b8a4420c2efc6d8
Parents: ee948f0
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 19:41:07 2018 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Tue Mar 20 19:41:07 2018 +0530

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 59 
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 65 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/eaa6cdd2/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 409e98f..dc3e5d3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -263,4 +263,63 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+List regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+}
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[25-j], rs.getString("t_id"));
+assertEquals(25-j, rs.getInt("k1"));
+assertEquals(strings[j], rs.getString("V1"));
+}
+query = "SELECT t_id,k1,k3 FROM " + tableName;
+rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[j], rs.getString("t_id"));
+assertEquals(j, rs.getInt("k1"));
+assertEquals(j + 2, rs.getInt("k3"));
+}
+} finally {
+conn1.close();
+}
+}
 }


phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-20 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.1 df1f8ca8d -> 3e87f5d3e


PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-1.1
Commit: 3e87f5d3e4cc05bc6291afa2dee0f159d6b69085
Parents: df1f8ca
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 19:40:17 2018 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Tue Mar 20 19:40:17 2018 +0530

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 59 
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 65 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3e87f5d3/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 409e98f..dc3e5d3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -263,4 +263,63 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+List regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+}
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[25-j], rs.getString("t_id"));
+assertEquals(25-j, rs.getInt("k1"));
+assertEquals(strings[j], rs.getString("V1"));
+}
+query = "SELECT t_id,k1,k3 FROM " + tableName;
+rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[j], rs.getString("t_id"));
+assertEquals(j, rs.getInt("k1"));
+assertEquals(j + 2, rs.getInt("k3"));
+}
+} finally {
+conn1.close();
+}
+}
 }


phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-20 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.2 687d04cb5 -> 332caa000


PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-1.2
Commit: 332caa24a01562945e18b5e7ea43d816593e
Parents: 687d04c
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 19:38:03 2018 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Tue Mar 20 19:38:03 2018 +0530

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 59 
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 65 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/332caa00/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 409e98f..dc3e5d3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -263,4 +263,63 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+List regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+}
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[25-j], rs.getString("t_id"));
+assertEquals(25-j, rs.getInt("k1"));
+assertEquals(strings[j], rs.getString("V1"));
+}
+query = "SELECT t_id,k1,k3 FROM " + tableName;
+rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[j], rs.getString("t_id"));
+assertEquals(j, rs.getInt("k1"));
+assertEquals(j + 2, rs.getInt("k3"));
+}
+} finally {
+conn1.close();
+}
+}
 }


phoenix git commit: PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - addendum(Rajeshbabu)

2018-03-20 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/master 204d4aa08 -> b6e33f30e


PHOENIX-4576 Fix LocalIndexSplitMergeIT tests failing in master branch - 
addendum(Rajeshbabu)


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

Branch: refs/heads/master
Commit: b6e33f30e2084879feeb3240444806b1e7069135
Parents: 204d4aa
Author: Rajeshbabu Chintaguntla 
Authored: Tue Mar 20 19:35:14 2018 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Tue Mar 20 19:35:14 2018 +0530

--
 .../phoenix/end2end/LocalIndexSplitMergeIT.java | 59 
 .../IndexHalfStoreFileReaderGenerator.java  |  8 ++-
 2 files changed, 65 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b6e33f30/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 409e98f..dc3e5d3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -263,4 +263,63 @@ public class LocalIndexSplitMergeIT extends BaseTest {
 }
 }
 
+@Test
+public void testLocalIndexScanWithMergeSpecialCase() throws Exception {
+String schemaName = generateUniqueName();
+String tableName = schemaName + "." + generateUniqueName();
+String indexName = "IDX_" + generateUniqueName();
+TableName physicalTableName = 
SchemaUtil.getPhysicalTableName(tableName.getBytes(), false);
+createBaseTable(tableName, "('a','b','def')");
+Connection conn1 = getConnectionForLocalIndexTest();
+try {
+String[] strings =
+{ "aa", "aaa", "", "bb", "cc", "dd", "dff", "g", "h", 
"i", "j", "k", "l",
+"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
"w", "x", "y", "z" };
+for (int i = 0; i < 26; i++) {
+conn1.createStatement()
+.execute("UPSERT INTO " + tableName + " values('" + 
strings[i] + "'," + i
++ "," + (i + 1) + "," + (i + 2) + ",'" + 
strings[25 - i] + "')");
+}
+conn1.commit();
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + " ON " + 
tableName + "(v1)");
+conn1.createStatement()
+.execute("CREATE LOCAL INDEX " + indexName + "_2 ON " + tableName 
+ "(k3)");
+
+HBaseAdmin admin = 
conn1.unwrap(PhoenixConnection.class).getQueryServices().getAdmin();
+List regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
admin.mergeRegions(regionsOfUserTable.get(0).getEncodedNameAsBytes(),
+regionsOfUserTable.get(1).getEncodedNameAsBytes(), false);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+
+while (regionsOfUserTable.size() != 3) {
+Thread.sleep(100);
+regionsOfUserTable =
+
MetaTableAccessor.getTableRegions(getUtility().getZooKeeperWatcher(),
+admin.getConnection(), physicalTableName, false);
+}
+String query = "SELECT t_id,k1,v1 FROM " + tableName;
+ResultSet rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[25-j], rs.getString("t_id"));
+assertEquals(25-j, rs.getInt("k1"));
+assertEquals(strings[j], rs.getString("V1"));
+}
+query = "SELECT t_id,k1,k3 FROM " + tableName;
+rs = conn1.createStatement().executeQuery(query);
+for (int j = 0; j < 26; j++) {
+assertTrue(rs.next());
+assertEquals(strings[j], rs.getString("t_id"));
+assertEquals(j, rs.getInt("k1"));
+assertEquals(j + 2, rs.getInt("k3"));
+}
+} finally {
+conn1.close();
+}
+}
 }