phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samarth Jain (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-3108) ImmutableIndexIT fails when run on its own
Date Thu, 21 Jul 2016 19:08:20 GMT

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

Mime
View raw message