Adar Dembo has submitted this change and it was merged.

Change subject: thirdparty: patch cmake on SLES 12 SP0 to avoid hanging
......................................................................


thirdparty: patch cmake on SLES 12 SP0 to avoid hanging

There's an odd cmake bug [1] that causes it to hang from time to time. So
far we've only seen it manifest during Impala's native toolchain build
(which includes Kudu) on SLES 12 SP0 build machines. I myself wasn't able to
reproduce it using the same AMI. Nor has it manifested in any other build
environments (including SLES 12 SP1), to our knowledge.

The workaround is to disable the use of select() when reading from
subprocess' pipes. I'm not thrilled by this; it means cmake will poll those
pipes for data, adding to its overall time. On my laptop, the unpatched cmake
takes 10s to process the Kudu source tree and 15s with this patch. That's
not much compared to the time spent in make/ninja (even with a hot ccache),
but anecdotally it feels like it hurts the "interactivity" of the build.

To limit the damage, the patch is only applied if SLES 12 SP0 is detected.
To my knowledge, no one is developing for Kudu on that platform, so the net
outcome is a more robust Impala build without a real hit to productivity.

1. https://gitlab.kitware.com/cmake/cmake/issues/15873

Change-Id: I33596a36c1f974078140360cb62b01f58211b44c
Reviewed-on: http://gerrit.cloudera.org:8080/5857
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <t...@apache.org>
Reviewed-by: Matthew Jacobs <m...@cloudera.com>
---
M thirdparty/download-thirdparty.sh
A thirdparty/patches/cmake-issue-15873-dont-use-select.patch
2 files changed, 45 insertions(+), 0 deletions(-)

Approvals:
  Matthew Jacobs: Looks good to me, approved
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I33596a36c1f974078140360cb62b01f58211b44c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to