David Ribeiro Alves has uploaded a new change for review. http://gerrit.cloudera.org:8080/1885
Change subject: KUDU-1297 - Fix RowSetTree sorting on mac osx ...................................................................... KUDU-1297 - Fix RowSetTree sorting on mac osx We use a sorting function, RSEndpointBySliceCompare(), for the std::sort() call in RowSetTree::Reset(). Sorting functions have a hard requirement that they should only return true iif a < b and should return false in all other cases. Our function would behave well in all cases except when a == b, in which case it might return true or false depending on whether a.endpoint_ == START or a.endpoint_ == STOP. Apparently when this requirement is not met, in some cases, segfaults ensue: https://schneide.wordpress.com/2010/11/01/bug-hunting-fun-with-stdsort/ The fix is to return false if a == b. I've made sure that this fixes the failing test (rowset_tree-test) in mac osx. Change-Id: I315b4a71438cccb7bdc12e8929b064e9e5074f71 --- M src/kudu/tablet/rowset_tree-test.cc M src/kudu/tablet/rowset_tree.cc 2 files changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/85/1885/1 -- To view, visit http://gerrit.cloudera.org:8080/1885 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I315b4a71438cccb7bdc12e8929b064e9e5074f71 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <[email protected]>
