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

ImmutableIndexIT fails when run on its own

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: None
    • Fix Version/s: 4.8.2
    • Component/s: None
    • Labels:
      None

      Description

      prakul agarwal and I noticed that when running ImmutableIndexIT on its own, the test testCreateIndexDuringUpsertSelect fails for parameters localIndex = true and transactional = false. The failure stacktrace is:

      java.sql.SQLTimeoutException: Operation timed out.
      	at org.apache.phoenix.exception.SQLExceptionCode$15.newException(SQLExceptionCode.java:376)
      	at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
      	at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:805)
      	at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:719)
      	at org.apache.phoenix.iterate.ConcatResultIterator.getIterators(ConcatResultIterator.java:50)
      	at org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:97)
      	at org.apache.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:117)
      	at org.apache.phoenix.compile.UpsertCompiler$2.execute(UpsertCompiler.java:810)
      	at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:340)
      	at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:1)
      	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      	at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:327)
      	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1388)
      	at org.apache.phoenix.end2end.index.ImmutableIndexIT.testCreateIndexDuringUpsertSelect(ImmutableIndexIT.java:180)
      

      My first guess is that the UPSERT SELECT running for building the local index isn't setting timestamp correctly. This is probably causing the select part to read the records that are being upserted. FYI, Rajeshbabu Chintaguntla. The reason we are not seeing this error in jenkins is because the co-processor CreateIndexRegionObserver isn't getting installed. Because the co-processor is a server side property, the test class needs to extend BaseOwnClusterHBaseManagedTimeIT and not BaseHBaseManagedTimeIT. This will make the test class run in its own mini-cluster. FYI, Thomas D'Silva - it doesn't look like your race condition test is getting exercised when running test suite via maven.

        Attachments

          Activity

            People

            • Assignee:
              samarthjain Samarth Jain
              Reporter:
              samarthjain Samarth Jain
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: