Adar Dembo has submitted this change and it was merged. 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 --- M src/kudu/fs/file_block_manager.h M src/kudu/fs/log_block_manager.h 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Todd Lipcon: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/7796 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib315b20719ef529331304df5c56c4242902524d4 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Hao Hao <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Hao Hao <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
