PHOENIX-4555 Only mark view as updatable if rows cannot overlap with other updatable views
Jira: PHOENIX-4555
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1704/9/artifact/yetus-general-check/output/results-asflicense.txt
ViewWhereValidationIT needs ASF license.
spotbugs: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1704/9/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html
For this failure https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1704/12/testReport/org.apache.phoenix.end2end/LogicalTableNameExtendedIT/testUpdatePhysicalTableName_tenantViews/
java.lang.RuntimeException: org.apache.hadoop.hbase.TableNotFoundException: SYSTEM.CHILD_LINK
at org.apache.phoenix.compile.CreateTableCompiler.compile(CreateTableCompiler.java:194)
at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:1070)
at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateTableStatement.compilePlan(PhoenixStatement.java:1056)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:552)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:533)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:532)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:520)
at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:2253)
you can refer to https://github.com/apache/phoenix/pull/1709/commits/2e0da189b6e0d6be178f322569d5d23c2d583f56
Basically we need to handle namespace resolution.
The above commit belongs to PR https://github.com/apache/phoenix/pull/1709
Let me keep this here for reference, we can also contribute this later as separate commit.
Patch to run BackwardCompatibilityIT locally:
diff --git a/phoenix-core/src/it/resources/compatible_client_versions.json b/phoenix-core/src/it/resources/compatible_client_versions.json
index 2cb449015..037289bce 100644
--- a/phoenix-core/src/it/resources/compatible_client_versions.json
+++ b/phoenix-core/src/it/resources/compatible_client_versions.json
@@ -25,5 +25,5 @@
"2.2": [ {"artifactId":"phoenix-client-hbase-2.2", "version":"5.1.0"} ],
"2.3": [ {"artifactId":"phoenix-client-hbase-2.3", "version":"5.1.0"}, {"artifactId":"phoenix-client-hbase-2.3", "version":"5.2.0"} ],
"2.4": [ {"artifactId":"phoenix-client-hbase-2.4", "version":"5.1.0"}, {"artifactId":"phoenix-client-hbase-2.3", "version":"5.2.0"} ],
- "2.5": [ {"artifactId":"phoenix-client-hbase-2.5", "version":"5.2.0"} ]
+ "2.5": [ {"artifactId":"phoenix-client-hbase-2.5", "version":"5.1.3"} ]
}
We are really close now :)
For the failed test org.apache.phoenix.end2end.index.ChildViewsUseParentViewIndexIT.testParentViewIndexWithSpecializedChildViews, seems it's an existing bug on view indexes because I ran the modified test on master branch and got the same issue. @jpisaac also got this issue on another test when views extending pk, and now it also happens on views without extending pk. Maybe we can create a Jira for this bug and ignore this test for now.