[ 
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)

Reply via email to