Skip to content

Conversation

@chrajeshbabu
Copy link
Contributor

@chrajeshbabu chrajeshbabu commented May 10, 2022

…k during connection initialisation

Copy link
Contributor

@ankitsinghal ankitsinghal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chrajeshbabu , looks like the PR is not complete and missing some changes from your local?

…k during connection initialisation and create new table result iterator which doesn't require fetch meta data of table(Rajeshbabu)
this.scan = scan;
this.plan = null;
this.scanMetricsHolder = scanMetricsHolder;
htable = mutationState.getHTable(tableName, transactionalTable, indexTable, immutableRowsEnabled);;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
htable = mutationState.getHTable(tableName, transactionalTable, indexTable, immutableRowsEnabled);;
htable = mutationState.getHTable(tableName, transactionalTable, indexTable, immutableRowsEnabled);

@stoty
Copy link
Contributor

stoty commented Jun 2, 2022

Skipping all the upgrade stuff and safety checks is fine, however AFAICT this also skips initialization of the CQSI global connection object, and updating GLOBAL_QUERY_SERVICES_COUNTER.

Are you sure that won't cause problems ?

@stoty
Copy link
Contributor

stoty commented Jun 2, 2022

Skipping all the upgrade stuff and safety checks is fine, however AFAICT this also skips initialization the CQSI global connection object, and updating GLOBAL_QUERY_SERVICES_COUNTER.

Are you sure that won't cause problems ?

@chrajeshbabu
Copy link
Contributor Author

Deleted MinimalQueryPlanInvolvedTableResultIteratorIT but not sure why it's picking again.

 [ERROR] /home/jenkins/jenkins-home/workspace/enix-PreCommit-GitHub-PR_PR-1437/yetus-general-check/src/phoenix-core/src/it/java/org/apache/phoenix/iterate/MinimalQueryPlanInvolvedTableResultIteratorIT.java:[93,16] no suitable constructor found for TableResultIterator(org.apache.phoenix.execute.MutationState,org.apache.hadoop.hbase.client.Scan,org.apache.phoenix.monitoring.ScanMetricsHolder,long,org.apache.phoenix.iterate.ParallelScanGrouper,byte[],boolean,boolean,boolean)
[ERROR]     constructor org.apache.phoenix.iterate.TableResultIterator.TableResultIterator() is not applicable
[ERROR]       (actual and formal argument lists differ in length)
[ERROR]     constructor org.apache.phoenix.iterate.TableResultIterator.TableResultIterator(org.apache.phoenix.execute.MutationState,org.apache.hadoop.hbase.client.Scan,org.apache.phoenix.monitoring.ScanMetricsHolder,long,org.apache.phoenix.compile.QueryPlan,org.apache.phoenix.iterate.ParallelScanGrouper) is not applicable
[ERROR]       (actual and formal argument lists differ in length)
[ERROR]     constructor org.apache.phoenix.iterate.TableResultIterator.TableResultIterator(org.apache.phoenix.execute.MutationState,org.apache.hadoop.hbase.client.Scan,org.apache.phoenix.monitoring.ScanMetricsHolder,long,org.apache.phoenix.compile.QueryPlan,org.apache.phoenix.iterate.ParallelScanGrouper,java.util.Map<org.apache.phoenix.hbase.index.util.ImmutableBytesPtr,org.apache.phoenix.cache.ServerCacheClient.ServerCache>) is not applicable
[ERROR]       (actual and formal argument lists differ in length)
[ERROR] -> [Help 1]

@chrajeshbabu
Copy link
Contributor Author

Skipping all the upgrade stuff and safety checks is fine, however AFAICT this also skips initialization the CQSI global connection object, and updating GLOBAL_QUERY_SERVICES_COUNTER.

Are you sure that won't cause problems ?

Am double checking it @stoty. We can move the checking the config after hbase connection creation if that didn't work.

@stoty
Copy link
Contributor

stoty commented Jun 2, 2022

Skipping all the upgrade stuff and safety checks is fine, however AFAICT this also skips initialization the CQSI global connection object, and updating GLOBAL_QUERY_SERVICES_COUNTER.
Are you sure that won't cause problems ?

Am double checking it @stoty. We can move the checking the config after hbase connection creation if that didn't work.

Yes, I think that would be a better idea.
Simply opening an HBase connection is probably not too expensive.

@chrajeshbabu
Copy link
Contributor Author

Skipping all the upgrade stuff and safety checks is fine, however AFAICT this also skips initialization the CQSI global connection object, and updating GLOBAL_QUERY_SERVICES_COUNTER.
Are you sure that won't cause problems ?

Am double checking it @stoty. We can move the checking the config after hbase connection creation if that didn't work.

Yes, I think that would be a better idea. Simply opening an HBase connection is probably not too expensive.

@stoty moved the config check post hbase connection opening and made the test case more realistic.

Copy link
Member

@joshelser joshelser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Big simplification which is nice, plus the test.

I tried to run through the build. I saw refCount failures for DateTimeIT and IndexToolForDeleteBeforeRebuildIT, but on re-run these passed. I'm guessing it's probably some (known) flakiness.

@chrajeshbabu
Copy link
Contributor Author

Thanks for reviews @joshelser, @ankitsinghal
bq. I tried to run through the build. I saw refCount failures for DateTimeIT and IndexToolForDeleteBeforeRebuildIT, but on re-run these passed. I'm guessing it's probably some (known) flakiness
Yeah these are the flaky tests and not related to this change.

@chrajeshbabu chrajeshbabu merged commit 3d6b120 into apache:master Jun 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants