You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/07/21 19:43:20 UTC

[jira] [Commented] (PHOENIX-3108) ImmutableIndexIT fails when run on its own

    [ https://issues.apache.org/jira/browse/PHOENIX-3108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15388289#comment-15388289 ] 

James Taylor commented on PHOENIX-3108:
---------------------------------------

Each of the parameterized tests should creates a unique table name, in which case it'll work fine. I notice with ImmutableIndexIT, this isn't the case when a local index is being created. IndexIT and MutableIndexIT have the same issue. MutableIndexFailureIT looks correct. We should avoid having to run tests in there own cluster whenever possible as this causes the time it takes to run the test suite to increase.

Maybe [~tdsilva] can help review any others.

> ImmutableIndexIT fails when run on its own
> ------------------------------------------
>
>                 Key: PHOENIX-3108
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3108
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Samarth Jain
>            Assignee: Thomas D'Silva
>
> [~prakul] 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:
> {code}
> 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)
> {code}
> 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]. 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, [~tdsilva] - it doesn't look like your race condition test is getting exercised when running test suite via maven.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)