Joe McDonnell has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/15640


Change subject: IMPALA-9571: Fix Impala crash from unexpected boost 
filesystem_error exception
......................................................................

IMPALA-9571: Fix Impala crash from unexpected boost filesystem_error exception

The no-exception signature of boost::filesystem::remove_all() has a
longstanding bug where it can throw an exception even for the
no-exceptions interface. Boost recently added the "noexcept" specifier
to the no-exception signature of remove_all(). When a "noexcept"
function throws an exception, it causes the program to call std::terminate()
which aborts the program. This makes the try/catch block around
remove_all() useless.

As a point fix, this switches FilesystemUtil to use the remove_all()
signature that can throw exceptions. This code already had a try/catch
block around remove_all(), so now it just uses that to get the error
code.

Newer versions of boost (1.63+) fix the underlying problem, so this
code can be removed when we upgrade boost.

Testing:
 - Ran core tests
 - Ran FilesystemUtil backend test

Change-Id: I23016f37401604fc41fc99c0a056439a31333e3f
---
M be/src/util/filesystem-util.cc
1 file changed, 13 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/40/15640/1
--
To view, visit http://gerrit.cloudera.org:8080/15640
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I23016f37401604fc41fc99c0a056439a31333e3f
Gerrit-Change-Number: 15640
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>

Reply via email to