Open Yuhta opened 1 year ago
Here is another instance of var_pop window function: https://app.circleci.com/pipelines/github/facebookincubator/velox/22264/workflows/f09ec64c-27f9-4e2a-b0cb-6467fb44c5ca/jobs/140580.
CC: @isadikov
Could you share how I can reproduce this fuzzer error locally?
Could you share how I can reproduce this fuzzer error locally?
Hi @isadikov, Thank you for helping! This error can be reproduced via https://github.com/facebookincubator/velox/pull/4514. Alternatively, you can also try velox/exec/tests/velox_aggregation_fuzzer_test --seed 1515939423
on e3bd0d0
. Please let me know if you come across any issue with the reproduction.
I can consistently reproduce it locally. I will debug.
I have a dataset for this to repro. This is related to https://github.com/facebookincubator/velox/issues/4532 and is being addressed by https://github.com/facebookincubator/velox/pull/5082.
I see that fixing this is dependent on upgrading duck db, I have a couple of questions.
1) is the duckDB issue only in window aggregation or aggregations in general? 2) is it related to specific set of functions that we can skip for now ? 3) would it make sense to split aggregation fuzzer from window fuzzer tests. and only focus internally on aggregation as hi-pri signals that should be green .
another one https://github.com/facebookincubator/velox/issues/5724 not sure if its related i would like to understand the duckdb bug
@majetideepak Deepak has a good plan on upgrading DuckDB.
@majetideepak @aditi-pandit do you know if the bug in duckdb effect all window aggregations or just specific functions. I recently have two window fuzzer issues in bit_xor and stddev and wonder if those are also potentially fall under the same issue
I see that fixing this is dependent on upgrading duck db, I have a couple of questions.
- is the duckDB issue only in window aggregation or aggregations in general?
- is it related to specific set of functions that we can skip for now ?
- would it make sense to split aggregation fuzzer from window fuzzer tests. and only focus internally on aggregation as hi-pri signals that should be green .
@laithsakka : For 1), every aggregate function can be used as a window. In Velox, the window function for invoking aggregates is very generic and relies on the singleGroup aggregate APIs https://github.com/facebookincubator/velox/blob/main/velox/exec/AggregateWindow.cpp#L267
On the DuckDB side, the code-paths between regular and window aggregation are quite different as their implementation uses more advanced structures like segment tree etc.
Are the Velox singleGroup code-paths not tested with the other aggregation code-paths in Fuzzer ? If they are and we have full coverage, then maybe we could disable the window aggregation side.
2) The previous issue was in avg function so I didn't want to skip it.
3) About splitting tests, I think it might depend on how you look at 1)
What do you think ?
@aditi-pandit I see your point, now that I understand how they are related i do not have strong opinion. splitting will make sure we run window longer though also.
If the duckdb bug applies to all window functions in general, then i think we should disable it until its solved. and assert single group aggregation is tested. do you have context on the duckdb bug?
@aditi-pandit answering your question Are the Velox singleGroup code-paths not tested with the other aggregation code-paths in Fuzzer ?
I see that 10% of the time we do that right now
// 10% of times use global aggregation (no grouping keys).
std::vector
@aditi-pandit do you mean global aggregation by singleGroup or actually single group?
@aditi-pandit do you mean global aggregation by singleGroup or actually single group?
@laithsakka : Global aggregation by singleGroup.
@aditi-pandit I see your point, now that I understand how they are related i do not have strong opinion. splitting will make sure we run window longer though also.
If the duckdb bug applies to all window functions in general, then i think we should disable it until its solved. and assert single group aggregation is tested. do you have context on the duckdb bug?
We had filed this issue with DuckDB https://github.com/duckdb/duckdb/issues/6829
Description
https://app.circleci.com/pipelines/github/facebookincubator/velox/21749/workflows/8a11cc90-50b4-4fcc-83be-41b3d6b41824/jobs/137038/steps
Error Reproduction
No response
Relevant logs