Support customizable ways of launching Presto queries in Verifier#14823
Support customizable ways of launching Presto queries in Verifier#14823caithagoras merged 10 commits intoprestodb:masterfrom
Conversation
3f61b1d to
be26ad5
Compare
c150bde to
899498a
Compare
arhimondr
left a comment
There was a problem hiding this comment.
Style improvments in DeterminismAnalyzer
LGTM
|
|
arhimondr
left a comment
There was a problem hiding this comment.
Make control.http-port optional
LGTM
arhimondr
left a comment
There was a problem hiding this comment.
Make the entire JDBC QueryStats available in verification results
LGTM
There was a problem hiding this comment.
Should it be called JdbcPrestoActionConfig?
0a84b58 to
dabde7b
Compare
|
[test facebook] |
8345cf3 to
55727ca
Compare
wenleix
left a comment
There was a problem hiding this comment.
"Make control.http-port optional " . LGTM
"Make the entire JDBC QueryStats available in verification results". LGTM. curious what's the motivation here?
There was a problem hiding this comment.
wow. why not using OptionalLong/OptionalDouble? -- this is irrelevant to this PR though
There was a problem hiding this comment.
Since we have everything in the QueryStatsEvent, we'll eventually deprecate those fields.
wenleix
left a comment
There was a problem hiding this comment.
LGTM. Is there any document about how to mangling session properties in verifier run? (e.g. tweak some session properties, etc).
985d029 to
753c4f7
Compare
Make fields final and remove unused fields.
http-port is used for fetching cluster size via /v1/node. We only need it when TooManyOpenPartitionsFailureResolver requires the test cluster size. Hence: - Make control.http-port optional - Make test.http-port required if the specific failure resolver is enabled, else optional. Changes also needed in this commit: - Convert NodeResourceClient to ClusterSizeSupplier. - Convert HttpNodeResourceClient to ClusterSizeFetcher.
There are use cases to launch control and test Presto queries through a different way other than JDBC. This commit provides a way to write customized QueryAction and plug it into the Verifer. - Introduce QueryAction-related interfaces. - Support specifying a "helper" cluster, a cluster to run helper queries (describe, checksum, etc.). By default, help cluster is the control cluster. If the control QueryAction does not support data fetching, a separate helper cluster must be specified. - Replace RoutingPrestoAction with QueryActions. - Add an option to specify whether to run setup/teardown queries on the control/test clusters or on the helper cluster.
043832a to
3f99da3
Compare
metadata-timeout and checksum-timeout can be defined for control cluster and test cluster separately. Now that we have 3 different cluster types, this could be confusing. Move both config to QueryActionsConfig so that there is only one top level config for metadata-timeout and checksum-timeout.
Also, add a constructor in QueryException to take message
|
[test facebook] |
Depended by https://github.com/facebookexternal/presto-facebook/pull/1081