-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add basic WindowFuzzerTest #7917
Conversation
✅ Deploy Preview for meta-velox canceled.
|
This pull request was exported from Phabricator. Differential Revision: D51880255 |
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
f8c2a63
to
7276d4b
Compare
This pull request was exported from Phabricator. Differential Revision: D51880255 |
7276d4b
to
054c44f
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
This pull request was exported from Phabricator. Differential Revision: D51880255 |
054c44f
to
962fc55
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
This pull request was exported from Phabricator. Differential Revision: D51880255 |
962fc55
to
cb4f4c2
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
This pull request was exported from Phabricator. Differential Revision: D51880255 |
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
This pull request was exported from Phabricator. Differential Revision: D51880255 |
cb4f4c2
to
3c89a2d
Compare
Summary: Pull Request resolved: facebookincubator#7917 This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255 fbshipit-source-id: 0c9f88d9877b5d24051f66073b9996de30149ff8
Summary: Pull Request resolved: facebookincubator#7917 This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: https://internalfb.com/D51880255 fbshipit-source-id: 4e03cf0020151f9bfe96d1d27182ad3b27f70b24
This pull request was exported from Phabricator. Differential Revision: D51880255 |
3c89a2d
to
0cfd7c7
Compare
Summary: Pull Request resolved: facebookincubator#7917 This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. * Verify results against DuckDB instead of Presto. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255 fbshipit-source-id: 0f44d3cfd973c68730b8dbcef231e395b6124d3c
This pull request was exported from Phabricator. Differential Revision: D51880255 |
0cfd7c7
to
df68513
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
This pull request was exported from Phabricator. Differential Revision: D51880255 |
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
9f4a0ef
to
8e88a9d
Compare
This pull request was exported from Phabricator. Differential Revision: D51880255 |
Hi @aditi-pandit and @kgpai, thank you for your review! I've addressed your comments. Please take a look again. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good - can you add documentation in fuzzer.rst
++numReferenceQueryFailed; | ||
} else if (errorCode == ReferenceQueryErrorCode::kReferenceQueryUnsupported) { | ||
++numReferenceQueryNotSupported; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit : in case we ever change it to add some other kind of failure we can do ++numReferenceQueryFailedOther.
|
||
namespace facebook::velox::exec::test { | ||
|
||
class WindowFuzzerRunner { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Can you add documentation for WindowFuzzer's in fuzzer.rst
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated fuzzer.rst. Please take a look and let me know any further comments. Thanks!
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Differential Revision: D51880255
8e88a9d
to
3f45a1e
Compare
This pull request was exported from Phabricator. Differential Revision: D51880255 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM.
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
3f45a1e
to
7e31b5b
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
a557d74
to
eb65427
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
eb65427
to
7084f67
Compare
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
7084f67
to
5ef9e5c
Compare
Summary: Pull Request resolved: facebookincubator#8681 Reviewed By: kgpai Differential Revision: D53459530
Summary: This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions. The window fuzzer test currently have the following limitations: * Not supporting reproduction of test failures from saved files. * Not using randomly-generated frames. * Not allowing custom result verifiers. The limitations will be addressed next in the subsequent PRs. This is the second piece of facebookincubator#7754. Reviewed By: kgpai Differential Revision: D51880255
5ef9e5c
to
7875449
Compare
This pull request has been merged in 4b439db. |
This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions.
At every iteration, this fuzzer chooses a random signature among all registered aggregation and window function signatures (excluding functions in the
skipFunctions
list), and execute a plan of window operation with randomly generated set of partition keys, an optional set of sorting keys (with 50% chance), and the default frame (RANGE between UNBOUNDED PRECEDING and CURRENT ROW
). For functions in theorderDependentFunctions
list, the set of sorting keys include the row_number column to ensure the input is fully sorted. The input columns are either generated randomly, or generated via the custom input generator if provided. A GFLAGenable_window_reference_verification
(with the default valuefalse
) controls whether the result is verified against DuckDB. For functions in thecustomVerificationFunctions
list, results are not verified even ifenable_window_reference_verification
is set to true.The following GFLAGs are supported in the basic version:
enable_window_reference_verification
seed
only
steps
duration_sec
batch_size
num_batches
max_num_varargs
null_ratio
repro_persist_path
persist_and_run_once
log_signature_stats
Function stats are printed before iteration starts, e.g.,
Test stats are printed after all iterations complete, e.g.,
The window fuzzer test currently have the following limitations:
The limitations will be addressed next in the subsequent PRs.
This is the second piece of #7754.
Differential Revision: D51880255