Skip to content

Fix lazy map hashtable regression#12164

Closed
yingsu00 wants to merge 1 commit intoprestodb:masterfrom
yingsu00:lazyMapHTRegression
Closed

Fix lazy map hashtable regression#12164
yingsu00 wants to merge 1 commit intoprestodb:masterfrom
yingsu00:lazyMapHTRegression

Conversation

@yingsu00
Copy link
Copy Markdown
Contributor

@yingsu00 yingsu00 commented Jan 2, 2019

In 23de11f we lazily build the hashtables for map. It introduced a
regression for the case where the MapBlock is created through
AbstractMapBlock.getRegion(), in which the hashtables built on the
MapBlock region was not updated in the original MapBlock, thus causing
repeated hashtables build on the same base MapBlock. The change is to
encapsulate the int[] hashtables in AbstractMapBlock$HashTables object
and make it a member of MapBlock/MapBlockBuilder, so that when the
sliced MapBlock builds the hashtables, the base MapBlock would also gets
updated.

@findepi
Copy link
Copy Markdown
Contributor

findepi commented Jan 2, 2019

so that when the
sliced MapBlock builds the hashtables, the base MapBlock would also gets
updated.

will the base MapBlock be updated to contain a full hash table or only for the entries for the slice/region?

@yingsu00
Copy link
Copy Markdown
Contributor Author

yingsu00 commented Jan 2, 2019

so that when the
sliced MapBlock builds the hashtables, the base MapBlock would also gets
updated.

will the base MapBlock be updated to contain a full hash table or only for the entries for the slice/region?

It would contain the full hash tables.

@yingsu00 yingsu00 force-pushed the lazyMapHTRegression branch 2 times, most recently from 5e9b998 to 4518407 Compare January 4, 2019 03:40
@yingsu00 yingsu00 force-pushed the lazyMapHTRegression branch from 4518407 to f7f4792 Compare January 8, 2019 01:43
@yingsu00 yingsu00 changed the title WIP - Fix lazy map hashtable regression Fix lazy map hashtable regression Jan 8, 2019
In 23de11f we lazily build the hashtables for map. It introduced a
regression for the case where the MapBlock is created through
AbstractMapBlock.getRegion(), in which the hashtables built on the
MapBlock region was not updated in the original MapBlock, thus causing
repeated hashtables build on the same base MapBlock. The change is to
encapsulate the int[] hashtables in AbstractMapBlock$HashTables object
and make it a member of MapBlock/MapBlockBuilder, so that when the
sliced MapBlock builds the hashtables, the base MapBlock would also gets
updated.
@wenleix
Copy link
Copy Markdown
Contributor

wenleix commented Jan 8, 2019

@yingsu00 : Can you create an new PR for this so community can also look into this? -- Since previous emails might starts with [WIP] and get ignored ?

Also, given we are already in release freeze, do we want to first revert it and get the fix in next version?

@wenleix wenleix removed their assignment Jan 8, 2019
@yingsu00
Copy link
Copy Markdown
Contributor Author

yingsu00 commented Jan 8, 2019

Closing this in favor of new PR #12189

@yingsu00 yingsu00 closed this Jan 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants