diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 956c685f7de..f123e7c7bbb 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -62,7 +62,7 @@ dependencies: - numpy>=1.21,<1.25 - numpydoc - nvcc_linux-64=11.8 -- nvcomp==3.0.5 +- nvcomp==3.0.6 - nvtx>=0.2.1 - packaging - pandas>=1.3,<1.6.0dev0 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index cd2c70577f9..9db43a2b938 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -60,7 +60,7 @@ dependencies: - numba>=0.57 - numpy>=1.21,<1.25 - numpydoc -- nvcomp==3.0.5 +- nvcomp==3.0.6 - nvtx>=0.2.1 - packaging - pandas>=1.3,<1.6.0dev0 diff --git a/conda/recipes/libcudf/conda_build_config.yaml b/conda/recipes/libcudf/conda_build_config.yaml index 9ed8c94f2bb..084f4651450 100644 --- a/conda/recipes/libcudf/conda_build_config.yaml +++ b/conda/recipes/libcudf/conda_build_config.yaml @@ -38,7 +38,7 @@ spdlog_version: - ">=1.12.0,<1.13" nvcomp_version: - - "=3.0.5" + - "=3.0.6" zlib_version: - ">=1.2.13" diff --git a/dependencies.yaml b/dependencies.yaml index 9a1d11af02d..efd42c838bb 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -251,7 +251,7 @@ dependencies: - libkvikio==24.2.* - librdkafka>=1.9.0,<1.10.0a0 # Align nvcomp version with rapids-cmake - - nvcomp==3.0.5 + - nvcomp==3.0.6 - spdlog>=1.12.0,<1.13 build_wheels: common: diff --git a/python/cudf/cudf/tests/data/parquet/zstd_huff_tables_bug.parquet b/python/cudf/cudf/tests/data/parquet/zstd_huff_tables_bug.parquet new file mode 100644 index 00000000000..4fb66fd86fc Binary files /dev/null and b/python/cudf/cudf/tests/data/parquet/zstd_huff_tables_bug.parquet differ diff --git a/python/cudf/cudf/tests/test_parquet.py b/python/cudf/cudf/tests/test_parquet.py index 007349ab551..2424b33a5dc 100644 --- a/python/cudf/cudf/tests/test_parquet.py +++ b/python/cudf/cudf/tests/test_parquet.py @@ -3040,3 +3040,14 @@ def test_parquet_reader_multiindex(): def test_parquet_reader_engine_error(): with pytest.raises(ValueError): cudf.read_parquet(BytesIO(), engine="abc") + + +def test_parquet_reader_zstd_huff_tables(datadir): + # Ensure that this zstd-compressed file does not overrun buffers. The + # problem was fixed in nvcomp 3.0.6. + # See https://github.com/rapidsai/cudf/issues/15096 + fname = datadir / "zstd_huff_tables_bug.parquet" + + expected = pa.parquet.read_table(fname).to_pandas() + actual = cudf.read_parquet(fname) + assert_eq(actual, expected)