forked from facebookincubator/velox
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix corner case bug in VectorHasher. (facebookincubator#6646)
Summary: Pull Request resolved: facebookincubator#6646 VectorHasher could go into rangeOverflow_ mode while having hasRange_ true. As a result mayUseValueIds() was returning true even with distinctOverflow_ being true. distinctOverflow_ being true means we are no longer using that VectorHasher. Due to mayUseValueIds() returning true the HashBuild was still adding rows to the VectorHasher and from every batch a single row would leak into the underlying F14Map w/o string data being backed by saving it in the VectorHasher. When F14Map was rehashing - it detected the discrepancy in the 7-bit tag and aborted. The issue is quite rare. We fix by: - Whenever we go into rangeOverflow_ mode we also set hasRange_ to false, thus fixing the bug. - We clean unnecessary data when going to distinctOverflow_. Reviewed By: Yuhta Differential Revision: D49449425 fbshipit-source-id: 7bcd67b4e53f9129ecb14be0ee70767a04cb7ea0
- Loading branch information
1 parent
e36969b
commit d04f124
Showing
3 changed files
with
70 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters