Commit c2c4e85
authored
Fix dictionary pruning for column chunks with no dictionary page (#23746)
A chunk with no dictionary page contributes no values to the hash set built for its row group, but cuco rounds every capacity up to at least one bucket, so the set still has slots. Testing emptiness by slot count therefore missed it, and probing a set that was never built reported the literal as absent and pruned the row group. Test the value count instead.
Also add the missing group.sync() between zeroing the per-row-group results and decoding the dictionary page, without which a thread could overwrite a result another thread had already written.
Authors:
- Paul Mattione (https://github.com/pmattione-nvidia)
- Muhammad Haseeb (https://github.com/mhaseeb123)
Approvers:
- Muhammad Haseeb (https://github.com/mhaseeb123)
- Vukasin Milovanovic (https://github.com/vuule)
URL: #237461 parent 9e8e799 commit c2c4e85
2 files changed
Lines changed: 60 additions & 4 deletions
File tree
- cpp
- src/io/parquet/experimental
- tests/io/experimental
Lines changed: 10 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | | - | |
297 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
298 | 304 | | |
299 | 305 | | |
300 | 306 | | |
| |||
311 | 317 | | |
312 | 318 | | |
313 | 319 | | |
314 | | - | |
315 | | - | |
316 | 320 | | |
317 | 321 | | |
318 | 322 | | |
| |||
901 | 905 | | |
902 | 906 | | |
903 | 907 | | |
| 908 | + | |
| 909 | + | |
904 | 910 | | |
905 | 911 | | |
906 | 912 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1968 | 1968 | | |
1969 | 1969 | | |
1970 | 1970 | | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
1971 | 2021 | | |
1972 | 2022 | | |
1973 | 2023 | | |
| |||
0 commit comments