[
https://issues.apache.org/jira/browse/PHOENIX-5073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16729904#comment-16729904
]
Hadoop QA commented on PHOENIX-5073:
------------------------------------
{color:red}-1 overall{color}. Here are the results of testing the latest
attachment
http://issues.apache.org/jira/secure/attachment/12953142/PHOENIX-5073-4.x-HBase-1.3.002.patch
against 4.x-HBase-1.3 branch at commit
57509506dd64f67265473ac9daa30d9756e211d6.
ATTACHMENT ID: 12953142
{color:green}+1 @author{color}. The patch does not contain any @author
tags.
{color:red}-1 tests included{color}. The patch doesn't appear to include
any new or modified tests.
Please justify why no new tests are needed for this
patch.
Also please list what manual steps were performed to
verify this patch.
{color:green}+1 javac{color}. The applied patch does not increase the
total number of javac compiler warnings.
{color:red}-1 release audit{color}. The applied patch generated 1 release
audit warnings (more than the master's current 0 warnings).
{color:red}-1 lineLengths{color}. The patch introduces the following lines
longer than 100:
+ + "(org_id VARCHAR NOT NULL PRIMARY KEY, v1
INTEGER, v2 INTEGER, v3 INTEGER)";
+ assert
(PIndexState.valueOf(result.getTable().getIndexes(0).getIndexState()).equals(PIndexState.DISABLE));
+ private PTable modifyIndexStateForOldClient (int clientVersion, PTable
table) throws SQLException {
+ // If client is not yet up to 4.12, then translate PENDING_ACTIVE to
ACTIVE (as would have been
+ if (table.getIndexState() == PIndexState.PENDING_ACTIVE &&
clientVersion < MetaDataProtocol.MIN_PENDING_ACTIVE_INDEX) {
+ table = PTableImpl.builderWithColumns(table,
PTableImpl.getColumnsToClone(table)).setState(PIndexState.ACTIVE).build();
+ if (table.getIndexState() == PIndexState.PENDING_DISABLE &&
clientVersion < MetaDataProtocol.MIN_PENDING_DISABLE_INDEX) {
+ // note: for older clients, we have to rely on the rebuilder to
transition PENDING_DISABLE -> DISABLE
+ table = PTableImpl.builderWithColumns(table,
PTableImpl.getColumnsToClone(table)).setState(PIndexState.DISABLE).build();
{color:green}+1 core tests{color}. The patch passed unit tests in .
Test results:
https://builds.apache.org/job/PreCommit-PHOENIX-Build/2222//testReport/
Release audit warnings:
https://builds.apache.org/job/PreCommit-PHOENIX-Build/2222//artifact/patchprocess/patchReleaseAuditWarnings.txt
Console output:
https://builds.apache.org/job/PreCommit-PHOENIX-Build/2222//console
This message is automatically generated.
> Invalid PIndexState during rolling upgrade from 4.13 to 4.14
> ------------------------------------------------------------
>
> Key: PHOENIX-5073
> URL: https://issues.apache.org/jira/browse/PHOENIX-5073
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.14.0
> Reporter: Kiran Kumar Maturi
> Assignee: Kiran Kumar Maturi
> Priority: Major
> Attachments: PHOENIX-5073-4.x-HBase-1.3.001.patch,
> PHOENIX-5073-4.x-HBase-1.3.002.patch
>
>
> While doing a rolling upgrade from 4.13 to 4.14 we are seeing this exception.
> {code:java}
> 2018-08-20 09:00:34,980 WARN [pool-1-thread-1] workload.WriteWorkload -
> java.util.concurrent.ExecutionException: java.sql.SQLException:
> java.lang.IllegalArgumentException: Unable to PIndexState enum for serialized
> value of 'w'
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload.waitForBatches(WriteWorkload.java:233)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload.exec(WriteWorkload.java:183)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload.access$100(WriteWorkload.java:56)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload$1.run(WriteWorkload.java:159)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.sql.SQLException: java.lang.IllegalArgumentException: Unable
> to PIndexState enum for serialized value of 'w'
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1322)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1284)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.getTable(ConnectionQueryServicesImpl.java:1501)
> at
> org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:581)
> at
> org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:504)
> at
> org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:496)
> at
> org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:492)
> at
> org.apache.phoenix.execute.MutationState.validate(MutationState.java:780)
> at
> org.apache.phoenix.execute.MutationState.validateAll(MutationState.java:768)
> at org.apache.phoenix.execute.MutationState.send(MutationState.java:980)
> at org.apache.phoenix.execute.MutationState.send(MutationState.java:1469)
> at
> org.apache.phoenix.execute.MutationState.commit(MutationState.java:1301)
> at
> org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:539)
> at
> org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:536)
> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> at
> org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:536)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload$2.call(WriteWorkload.java:291)
> at
> org.apache.phoenix.pherf.workload.WriteWorkload$2.call(WriteWorkload.java:250)
> ... 4 more
> Caused by: java.lang.IllegalArgumentException: Unable to PIndexState enum for
> serialized value of 'w'
> at
> org.apache.phoenix.schema.PIndexState.fromSerializedValue(PIndexState.java:81)
> at
> org.apache.phoenix.schema.PTableImpl.createFromProto(PTableImpl.java:1222)
> at
> org.apache.phoenix.schema.PTableImpl.createFromProto(PTableImpl.java:1246)
> at
> org.apache.phoenix.coprocessor.MetaDataProtocol$MetaDataMutationResult.constructFromProto(MetaDataProtocol.java:330)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1314){code}
>
> Steps to reproduce.
> # Start the server on 4.14
> # Start load with both 4.13 and 4.14 clients
> # 4.13 client will show the above error (it will only when Index state
> transtition to PENDING_DISABLE , this state is not defined in 4.13)
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)