Skip to content

[Backport] fix bugs with auto encoded long vector deserializers#14190

Merged
clintropolis merged 1 commit intoapache:26.0.0from
clintropolis:backport-14186-to-26.0.0
May 8, 2023
Merged

[Backport] fix bugs with auto encoded long vector deserializers#14190
clintropolis merged 1 commit intoapache:26.0.0from
clintropolis:backport-14186-to-26.0.0

Conversation

@clintropolis
Copy link
Copy Markdown
Member

Backport of #14186 to 26.0.0.

@clintropolis clintropolis added this to the 26.0 milestone May 1, 2023
@clintropolis
Copy link
Copy Markdown
Member Author

failures related to #14191

This PR fixes an issue when using 'auto' encoded LONG typed columns and the 'vectorized' query engine. These columns use a delta based bit-packing mechanism, and errors in the vectorized reader would cause it to incorrectly read column values for some bit sizes (1 through 32 bits). This is a regression caused by apache#11004, which added the optimized readers to improve performance, so impacts Druid versions 0.22.0+.

While writing the test I finally got sad enough about IndexSpec not having a "builder", so I made one, and switched all the things to use it. Apologies for the noise in this bug fix PR, the only real changes are in VSizeLongSerde, and the tests that have been modified to cover the buggy behavior, VSizeLongSerdeTest and ExpressionVectorSelectorsTest. Everything else is just cleanup of IndexSpec usage.
@clintropolis clintropolis force-pushed the backport-14186-to-26.0.0 branch from f02cf6e to 3e0dc5f Compare May 5, 2023 20:01
@clintropolis clintropolis merged commit 3438c3e into apache:26.0.0 May 8, 2023
@clintropolis clintropolis deleted the backport-14186-to-26.0.0 branch May 8, 2023 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant