[ 
https://issues.apache.org/jira/browse/PHOENIX-3108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Samarth Jain updated PHOENIX-3108:
----------------------------------
    Description: 
[~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.

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

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]. 


There is another bug in the test class - because it wants custom co-processor 
to be installed, the test class should extend BaseOwnClusterHBaseManagedTimeIT. 
In fact, any test that wants custom server side property should spawn its own 
mini-cluster which is what would end up happening if you extend 
BaseOwnClusterHBaseManagedTimeIT. 
Otherwise, running tests via mvn install may not install the co-processor and 
the test case, specifically testCreateIndexDuringUpsertSelect, isn't testing 
out the race condition like it should. FYI, [~tdsilva]. 


> 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