Commit Graph

1 Commits

Author SHA1 Message Date
Huaisi Xu
99879aad47 IMPALA-3385: Fix crashes on accessing error_log
We used to check error_log empty with error_log.empty(), but
this may return false even when some of its member has empty
messages, thus crashes impala.

This commit:

1. Remove error_log from HdfsScanNode::ProcessSplit() since the
logs may contain irrelevant errors. This also prevents a
potential race condition when error_log is checked and enters
if clause, but later is changed by other threads. Also prevent
crashes when error_log has a cleared entry.

2. Hold locks and return a copy of the
RuntimeState::error_log_, fixing a race in the coordinator.

Change-Id: I3a7e3d22e26147ada780aae5aed1f2e25a515afc
Reviewed-on: http://gerrit.cloudera.org:8080/2829
Reviewed-by: Dan Hecht <dhecht@cloudera.com>
Reviewed-by: Huaisi Xu <hxu@cloudera.com>
Tested-by: Internal Jenkins
2016-05-12 14:17:48 -07:00