[phoenix] branch 4.x-HBase-1.3 updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch 4.x-HBase-1.3
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x-HBase-1.3 by this push:
 new c85fda4  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design
c85fda4 is described below

commit c85fda4039e84da1a0c1e35f12404418660524f0
Author: s.kadam 
AuthorDate: Tue Jul 9 16:51:09 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 327 
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 547 +
 2 files changed, 874 insertions(+)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..400df93
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder optionsBuilder;
+private String tableDDLOptions;
+private Connection conn;
+private Admin admin;
+private IndexUpgradeTool iut;
+
+

[phoenix] branch 4.x-HBase-1.4 updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch 4.x-HBase-1.4
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x-HBase-1.4 by this push:
 new d5b8b3c  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design
d5b8b3c is described below

commit d5b8b3cb11f26ff69682f692356d0e2f995bc913
Author: s.kadam 
AuthorDate: Tue Jul 9 16:51:09 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 327 
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 547 +
 2 files changed, 874 insertions(+)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..400df93
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder optionsBuilder;
+private String tableDDLOptions;
+private Connection conn;
+private Admin admin;
+private IndexUpgradeTool iut;
+
+

[phoenix] branch 4.x-HBase-1.5 updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch 4.x-HBase-1.5
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x-HBase-1.5 by this push:
 new 4e10afa  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design
4e10afa is described below

commit 4e10afa082dba52b6717178ee70fd9a8ee3b429e
Author: s.kadam 
AuthorDate: Tue Jul 9 16:51:09 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 327 
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 547 +
 2 files changed, 874 insertions(+)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..400df93
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder optionsBuilder;
+private String tableDDLOptions;
+private Connection conn;
+private Admin admin;
+private IndexUpgradeTool iut;
+
+

[phoenix] branch 4.14-HBase-1.4 updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch 4.14-HBase-1.4
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.14-HBase-1.4 by this push:
 new 1f46777  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design
1f46777 is described below

commit 1f46777917d413c78bffe685b0fb311ba1ab910d
Author: s.kadam 
AuthorDate: Tue Jul 9 16:51:09 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 327 
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 547 +
 2 files changed, 874 insertions(+)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..400df93
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder optionsBuilder;
+private String tableDDLOptions;
+private Connection conn;
+private Admin admin;
+private IndexUpgradeTool iut;
+
+

[phoenix] branch 4.14-HBase-1.3 updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch 4.14-HBase-1.3
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.14-HBase-1.3 by this push:
 new 95d7bba  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design
95d7bba is described below

commit 95d7bba2a29742edabf49bb559beb722604194f3
Author: s.kadam 
AuthorDate: Tue Jul 9 16:51:09 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 327 
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 547 +
 2 files changed, 874 insertions(+)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..400df93
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder optionsBuilder;
+private String tableDDLOptions;
+private Connection conn;
+private Admin admin;
+private IndexUpgradeTool iut;
+
+

Apache Phoenix - Timeout crawler - Build https://builds.apache.org/job/Phoenix-master/2449/

2019-07-09 Thread Apache Jenkins Server
[...truncated 53 lines...]

[phoenix] branch master updated: PHOENIX-5382 : Improved performace with Bulk operations over iterations

2019-07-09 Thread chinmayskulkarni
This is an automated email from the ASF dual-hosted git repository.

chinmayskulkarni pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
 new 3b31923  PHOENIX-5382 : Improved performace with Bulk operations over 
iterations
3b31923 is described below

commit 3b31923d4c698ee2a38f5b9db104892a194e2131
Author: Viraj Jasani 
AuthorDate: Sat Jun 29 23:41:22 2019 +0530

PHOENIX-5382 : Improved performace with Bulk operations over iterations

Signed-off-by: Chinmay Kulkarni 
---
 .../main/java/org/apache/phoenix/compile/FromCompiler.java|  5 +++--
 .../org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java  |  7 +++
 .../phoenix/mapreduce/index/PhoenixIndexImportMapper.java |  6 ++
 .../org/apache/phoenix/query/ConnectionQueryServicesImpl.java |  5 +++--
 .../main/java/org/apache/phoenix/util/CSVCommonsLoader.java   | 11 ++-
 .../src/main/java/org/apache/phoenix/util/Closeables.java |  5 ++---
 .../src/main/java/org/apache/phoenix/util/SQLCloseables.java  | 11 ++-
 7 files changed, 21 insertions(+), 29 deletions(-)

diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
index 9f7bc8e..943c0d4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
@@ -734,10 +734,11 @@ public class FromCompiler {
 protected PTable addDynamicColumns(List dynColumns, PTable 
theTable)
 throws SQLException {
 if (!dynColumns.isEmpty()) {
-List allcolumns = new ArrayList();
 List existingColumns = theTable.getColumns();
 // Need to skip the salting column, as it's handled in the 
PTable builder call below
-allcolumns.addAll(theTable.getBucketNum() == null ? 
existingColumns : existingColumns.subList(1, existingColumns.size()));
+List allcolumns = new ArrayList<>(
+theTable.getBucketNum() == null ? existingColumns :
+existingColumns.subList(1, 
existingColumns.size()));
 // Position still based on with the salting columns
 int position = existingColumns.size();
 PName defaultFamilyName = 
PNameFactory.newName(SchemaUtil.getEmptyColumnFamily(theTable));
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 68cdcfe..7dca023 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
@@ -749,13 +749,12 @@ public class MetaDataEndpointImpl extends 
MetaDataProtocol implements RegionCopr
 findAncestorViewsOfIndex(tenantId, schemaName, tableName, 
viewFinderResult,
 table.isNamespaceMapped());
 }
-if (viewFinderResult.getLinks().isEmpty()) {
+List tableViewInfoList = viewFinderResult.getLinks();
+if (tableViewInfoList.isEmpty()) {
 // no need to combine columns for local indexes on regular tables
 return table;
 }
-for (TableInfo viewInfo : viewFinderResult.getLinks()) {
-ancestorList.add(viewInfo);
-}
+ancestorList.addAll(tableViewInfoList);
 List allColumns = Lists.newArrayList();
 List excludedColumns = Lists.newArrayList();
 // add my own columns first in reverse order
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/PhoenixIndexImportMapper.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/PhoenixIndexImportMapper.java
index 567a642..74cc3dd 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/PhoenixIndexImportMapper.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/PhoenixIndexImportMapper.java
@@ -140,13 +140,11 @@ public class PhoenixIndexImportMapper extends 
Mapper cellList : 
mutation.getFamilyCellMap().values()) {
 ListkeyValueList = 
preUpdateProcessor.preUpsert(mutation.getRow(), cellList);
-for (Cell keyValue : keyValueList) {
-keyValues.add(keyValue);
-}
+keyValues.addAll(keyValueList);
 }
 }
 }
-Collections.sort(keyValues, 
pconn.getKeyValueBuilder().getKeyValueComparator());
+
keyValues.sort(pconn.getKeyValueBuilder().getKeyValueComparator());
 for (Cell kv : keyValues) {

[phoenix] branch PHOENIX-5387 created (now aee4b1b)

2019-07-09 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a change to branch PHOENIX-5387
in repository https://gitbox.apache.org/repos/asf/phoenix.git.


  at aee4b1b  PHOENIX-5387 - Added LICENSE message for phoenix-pherf's use 
of system-rules

This branch includes the following new commits:

 new aee4b1b  PHOENIX-5387 - Added LICENSE message for phoenix-pherf's use 
of system-rules

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[phoenix] 01/01: PHOENIX-5387 - Added LICENSE message for phoenix-pherf's use of system-rules

2019-07-09 Thread gjacoby
This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a commit to branch PHOENIX-5387
in repository https://gitbox.apache.org/repos/asf/phoenix.git

commit aee4b1bd492d106a0c4ad3b6f3f26a635fec76a8
Author: Geoffrey Jacoby 
AuthorDate: Tue Jul 9 10:14:56 2019 -0700

PHOENIX-5387 - Added LICENSE message for phoenix-pherf's use of system-rules
---
 LICENSE | 223 
 1 file changed, 223 insertions(+)

diff --git a/LICENSE b/LICENSE
index d820ad7..6607d82 100644
--- a/LICENSE
+++ b/LICENSE
@@ -234,6 +234,13 @@ Font Awesome fonts (http://fontawesome.io/)
 
 ---
 
+This product bundles as a binary dependency the following which are licensed
+under the CPL 1.0 License.
+
+system-rules (https://github.com/stefanbirkner/system-rules) Copyright (c) 
2011-2018 Stefan Birkner
+
+---
+
 3-Clause BSD License:
 
 Redistribution and use in source and binary forms, with or without
@@ -391,3 +398,219 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES 
OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+---
+
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are 
not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this 
Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and 
such
+derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under 
Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability 
to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that 
license
+before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license 
set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under 
its
+own license agreement, provided 

Apache-Phoenix | Master | Build Successful

2019-07-09 Thread Apache Jenkins Server
Master branch build status Successful
Source repository https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=shortlog;h=refs/heads/master

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
[github] PHOENIX-5333: A tool to upgrade existing tables/indexes to use



Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout


Apache Phoenix - Timeout crawler - Build https://builds.apache.org/job/Phoenix-master/2448/

2019-07-09 Thread Apache Jenkins Server
[...truncated 51 lines...]

Build failed in Jenkins: Phoenix Compile Compatibility with HBase #1053

2019-07-09 Thread Apache Jenkins Server
See 


--
Started by timer
[EnvInject] - Loading node environment variables.
Building remotely on H42 (ubuntu xenial) in workspace 

[Phoenix_Compile_Compat_wHBase] $ /bin/bash /tmp/jenkins2153882812356706580.sh
core file size  (blocks, -c) 0
data seg size   (kbytes, -d) unlimited
scheduling priority (-e) 0
file size   (blocks, -f) unlimited
pending signals (-i) 386431
max locked memory   (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files  (-n) 6
pipe size(512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority  (-r) 0
stack size  (kbytes, -s) 8192
cpu time   (seconds, -t) unlimited
max user processes  (-u) 10240
virtual memory  (kbytes, -v) unlimited
file locks  (-x) unlimited
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
physical id : 0
physical id : 1
MemTotal:   98963736 kB
MemFree: 5110024 kB
Filesystem  Size  Used Avail Use% Mounted on
udev 48G 0   48G   0% /dev
tmpfs   9.5G  938M  8.6G  10% /run
/dev/sda3   3.6T  550G  2.9T  16% /
tmpfs48G 0   48G   0% /dev/shm
tmpfs   5.0M 0  5.0M   0% /run/lock
tmpfs48G 0   48G   0% /sys/fs/cgroup
/dev/sda2   473M  236M  213M  53% /boot
tmpfs   9.5G 0  9.5G   0% /run/user/1000
tmpfs   9.5G  4.0K  9.5G   1% /run/user/910
/dev/loop9   57M   57M 0 100% /snap/snapcraft/3022
/dev/loop1   57M   57M 0 100% /snap/snapcraft/3059
/dev/loop5   55M   55M 0 100% /snap/lxd/10972
/dev/loop2   89M   89M 0 100% /snap/core/7169
/dev/loop6   89M   89M 0 100% /snap/core/7270
/dev/loop7   55M   55M 0 100% /snap/lxd/11098
apache-maven-2.2.1
apache-maven-3.0.4
apache-maven-3.0.5
apache-maven-3.1.1
apache-maven-3.2.1
apache-maven-3.2.5
apache-maven-3.3.3
apache-maven-3.3.9
apache-maven-3.5.0
apache-maven-3.5.2
apache-maven-3.5.4
apache-maven-3.6.0
latest
latest2
latest3


===
Verifying compile level compatibility with HBase 0.98 with Phoenix 
4.x-HBase-0.98
===

Cloning into 'hbase'...
Switched to a new branch '0.98'
Branch 0.98 set up to track remote branch 0.98 from origin.
[ERROR] Plugin org.codehaus.mojo:findbugs-maven-plugin:2.5.2 or one of its 
dependencies could not be resolved: Failed to read artifact descriptor for 
org.codehaus.mojo:findbugs-maven-plugin:jar:2.5.2: Could not transfer artifact 
org.codehaus.mojo:findbugs-maven-plugin:pom:2.5.2 from/to central 
(https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version 
-> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
Build step 'Execute shell' marked build as failure


[phoenix] branch master updated: PHOENIX-5333: A tool to upgrade existing tables/indexes to use self-consistent global indexes design (#520)

2019-07-09 Thread skadam
This is an automated email from the ASF dual-hosted git repository.

skadam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
 new 2af1660  PHOENIX-5333: A tool to upgrade existing tables/indexes to 
use self-consistent global indexes design (#520)
2af1660 is described below

commit 2af1660078fb8ea2abe6d2c2e0f79dddab488459
Author: Swaroopa Kadam 
AuthorDate: Mon Jul 8 23:50:42 2019 -0700

PHOENIX-5333: A tool to upgrade existing tables/indexes to use 
self-consistent global indexes design (#520)
---
 .../end2end/ParameterizedIndexUpgradeToolIT.java   | 328 
 .../phoenix/hbase/index/IndexRegionObserver.java   |   2 +-
 .../phoenix/mapreduce/index/IndexUpgradeTool.java  | 548 +
 .../apache/phoenix/query/QueryServicesOptions.java |   2 +-
 4 files changed, 878 insertions(+), 2 deletions(-)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
new file mode 100644
index 000..d2d68e2
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -0,0 +1,328 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.cli.CommandLine;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.phoenix.hbase.index.IndexRegionObserver;
+import org.apache.phoenix.hbase.index.Indexer;
+import org.apache.phoenix.index.GlobalIndexChecker;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.mapreduce.index.IndexTool;
+import org.apache.phoenix.mapreduce.index.IndexUpgradeTool;
+import org.apache.phoenix.query.BaseTest;
+import org.apache.phoenix.query.ConnectionQueryServices;
+import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.util.ReadOnlyProps;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized.Parameters;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.ROLLBACK_OP;
+import static org.apache.phoenix.mapreduce.index.IndexUpgradeTool.UPGRADE_OP;
+
+@RunWith(Parameterized.class)
+@Category(NeedsOwnMiniClusterTest.class)
+public class ParameterizedIndexUpgradeToolIT extends BaseTest {
+//Please do not remove/uncomment commented items in the list until 
PHOENIX-5385 is fixed
+private static final String [] INDEXES_LIST = {"TEST.INDEX1", 
"TEST.INDEX2", "TEST1.INDEX3",
+"TEST1.INDEX2","TEST1.INDEX1","TEST.INDEX3"/*, "_IDX_TEST.MOCK1", 
"_IDX_TEST1.MOCK2"*/};
+private static final String [] INDEXES_LIST_NAMESPACE = {"TEST:INDEX1", 
"TEST:INDEX2", "TEST1:INDEX3",
+"TEST1:INDEX2","TEST1:INDEX1","TEST:INDEX3"/*, "TEST:_IDX_MOCK1", 
"TEST1:_IDX_MOCK2"*/};
+private static final String [] TABLE_LIST = 
{"TEST.MOCK1","TEST1.MOCK2","TEST.MOCK3"};
+private static final String [] TABLE_LIST_NAMESPACE = 
{"TEST:MOCK1","TEST1:MOCK2","TEST:MOCK3"};
+
+private static final String INPUT_LIST = 
"TEST.MOCK1,TEST1.MOCK2,TEST.MOCK3";
+private static final String INPUT_FILE = 
"/tmp/input_file_index_upgrade.csv";
+
+private static Map serverProps = 
Maps.newHashMapWithExpectedSize(1),
+clientProps = Maps.newHashMapWithExpectedSize(1);
+
+private final boolean mutable;
+private final boolean upgrade;
+private final boolean isNamespaceEnabled;
+
+private StringBuilder