Jean-Daniel Cryans has submitted this change and it was merged. Change subject: KUDU-1324. Fix SEGV in catalog manager handling under-replicated tablet ......................................................................
KUDU-1324. Fix SEGV in catalog manager handling under-replicated tablet Commit 31278211f1934890e6835c9db164a7dea87d826a introduced some new logging when starting the 'AsyncAddServer' task in the catalog manager that tries to send the AddServer RPC for an under-replicated tablet. However, this can SEGV in the case that the tablet does not currently have an elected leader. This crash can be triggered when restarting the master while a tablet is under-replicated. When it comes back up, the master may receive the report of the under-replicated tablet. When it tries to run the AsyncAddServer task, there is no known leader yet (e.g. because the leader has not yet sent its tablet report), and thus the task fails immediately and deletes itself. Calling task->description() then accesses the freed memory and crashes. An earlier version of this fix tried to fix the issue by keeping a scoped_refptr to the task. However, this isn't sufficient because task->description() will crash if there is no known target tablet server. In order to fix this regression for the 0.7.0 release, this patch takes the simplest approach of just changing the log message to include less detail. A regression test will be included in a later patch. Change-Id: I62037fbaa910a1da476a0ac2075afdcdbc460dc8 Reviewed-on: http://gerrit.cloudera.org:8080/2060 Reviewed-by: Jean-Daniel Cryans Tested-by: Kudu Jenkins (cherry picked from commit 802d0e4c53f12b4392544ee10dfb530a25812d4f) Reviewed-on: http://gerrit.cloudera.org:8080/2086 Tested-by: Jean-Daniel Cryans --- M src/kudu/master/catalog_manager.cc 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jean-Daniel Cryans: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/2086 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I62037fbaa910a1da476a0ac2075afdcdbc460dc8 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: branch-0.7.0 Gerrit-Owner: Jean-Daniel Cryans Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
