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

Samarth Jain commented on PHOENIX-3108:
---------------------------------------

The issue is that the co-processor isn't necessarily getting installed. If the 
test class happens to be the first one to run on the JVM, then yes, the 
co-processor will be installed.

In particular, these two methods:
{code}
public static void doSetup() throws Exception {
        Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(1);
        serverProps.put("hbase.coprocessor.region.classes", 
CreateIndexRegionObserver.class.getName());
        Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(2);
        clientProps.put(QueryServices.TRANSACTIONS_ENABLED, "true");
        clientProps.put(QueryServices.INDEX_POPULATION_SLEEP_TIME, "15000");
        setUpTestDriver(new ReadOnlyProps(serverProps.entrySet().iterator()), 
new ReadOnlyProps(clientProps.entrySet().iterator()));
    }

 protected static String checkClusterInitialized(ReadOnlyProps overrideProps) 
throws Exception {
        if (!clusterInitialized) {
            url = setUpTestCluster(config, overrideProps);
            clusterInitialized = true;
        }
        return url;
}
{code}

setUpTestDriver calls checkClusterInitialized(serverProps). So if the cluster 
is already initialized, setUpTestCluster() won't be called.      


> 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