Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-5073

Invalid PIndexState during rolling upgrade from 4.13 to 4.14

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.14.0
    • 4.15.0, 5.1.0, 4.14.2
    • None
    • None

    Description

      While doing a rolling upgrade from 4.13 to 4.14 we are seeing this exception. 

      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)

       

      Steps to reproduce.

      1. Start the server on 4.14
      2. Start load with both 4.13 and 4.14 clients
      3. 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) 

       

      Attachments

        1. PHOENIX-5073-4.14-HBase-1.3.01.patch
          12 kB
          Kiran Kumar Maturi
        2. PHOENIX-5073-4.x-HBase-1.3.001.patch
          14 kB
          Kiran Kumar Maturi
        3. PHOENIX-5073-4.x-HBase-1.3.002.patch
          14 kB
          Kiran Kumar Maturi
        4. PHOENIX-5073-4.x-HBase-1.3.003.1.patch
          14 kB
          Thomas D'Silva
        5. PHOENIX-5073-4.x-HBase-1.3.003.2.patch
          12 kB
          Kiran Kumar Maturi
        6. PHOENIX-5073-4.x-HBase-1.3.003.patch
          14 kB
          Kiran Kumar Maturi
        7. PHOENIX-5073-master-01.patch
          12 kB
          Kiran Kumar Maturi

        Activity

          People

            kiran.maturi Kiran Kumar Maturi
            kiran.maturi Kiran Kumar Maturi
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: