Todd Lipcon has uploaded a new change for review. http://gerrit.cloudera.org:8080/7797
Change subject: log block manager: use unsigned int for next_block_id_ ...................................................................... log block manager: use unsigned int for next_block_id_ KUDU-1538 introduced 'next_block_id_' to keep track of unique block ID that should be used for block creation. Currently, it is defined as int64_t. However, it could be updated based on the value of 'max_block_id' which is uint64_t. Since block IDs are defined as uint64_t both on disk (fs.proto) and in memory (block_id.h), it makes more sense to treat 'next_block_id_' as uint64_t rather than to convert it correctly to int64_t everywhere. This patch changes the type of 'next_block_id_' to uint64_t to avoid overflow due to conversion of unsigned int to int, which can result in the reuse of an existing block ID. It does not add a standalone test case because the failure is most likely to occur in specific test-only scenarios. Change-Id: Ib315b20719ef529331304df5c56c4242902524d4 Reviewed-on: http://gerrit.cloudera.org:8080/7796 Reviewed-by: Adar Dembo <[email protected]> Reviewed-by: Todd Lipcon <[email protected]> Tested-by: Kudu Jenkins (cherry picked from commit b37bde72c47370293827a306532d9be15b1c5f40) --- M src/kudu/fs/file_block_manager.h M src/kudu/fs/log_block_manager.h 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/97/7797/1 -- To view, visit http://gerrit.cloudera.org:8080/7797 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib315b20719ef529331304df5c56c4242902524d4 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: branch-1.4.x Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Hao Hao <[email protected]>
