Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1396. Fix index building when an individual value 
overflows block
......................................................................


KUDU-1396. Fix index building when an individual value overflows block

This fixes an infinite recursion when building the index for a cfile
in the case that a single value is larger than the configured index
block size. Previously, we would see that the block was full, propagate
the key upwards, see that the new block was full, and continue until
we crashed.

The fix is relatively simple: we need to make sure that an index block
has at least two elements before we propagate upwards.

This adds a new cfile test which writes strings that are larger than
64KB.

Change-Id: Ic27485bc0b2151e7c182c36e7ad6258dc549517b
Reviewed-on: http://gerrit.cloudera.org:8080/2725
Reviewed-by: Adar Dembo <[email protected]>
Tested-by: Kudu Jenkins
---
M src/kudu/cfile/cfile-test-base.h
M src/kudu/cfile/cfile-test.cc
M src/kudu/cfile/index_block.cc
M src/kudu/cfile/index_block.h
M src/kudu/cfile/index_btree.cc
5 files changed, 66 insertions(+), 46 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/2725
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic27485bc0b2151e7c182c36e7ad6258dc549517b
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to