commit | 3733c4cc2cfb78d7f13463fb1ee9e1c4560d4a3d | [log] [tgz] |
---|---|---|
author | wzhou-code <wzhou@cloudera.com> | Thu Aug 06 15:52:47 2020 -0700 |
committer | Impala Public Jenkins <impala-public-jenkins@cloudera.com> | Fri Aug 28 01:39:55 2020 +0000 |
tree | d95052a7bcb8fd8c5954cc11d2aad10862e78582 | |
parent | 34668fab878c224632710670618b3f0176cbc78d [diff] |
IMPALA-10050: Fixed DCHECK error for backend in terminal state. Recent patch for IMPALA-6788 makes coordinator to cancel inflight query fragment instances when it receives failure report from one backend. It's possible the BackendState::Cancel() is called for one fragment instance before the first execution status report from its backend is received and processed by the coordinator. Since the status of BackendState is set as Cancelled after Cancel() is called, the execution of the fragment instance is treated as Done in such case so that the status report will NOT be processed. Hence the backend receives response OK from coordinator even it sent a report with execution error. This make backend hit DCHECK error if backend in the terminal state with error. This patch fixs the issue by making coordinator send CANCELLED status in the response of status report if the backend status is not ok and the execution status report is not applied. Testing: - The issue could be reproduced by running test_failpoints for about 20 iterations. Verified the fixing by running test_failpoints over 200 iterations without DCHECK failure. - Passed TestProcessFailures::test_kill_coordinator. - Psssed TestRPCException::test_state_report_error. - Passed exhaustive tests. Change-Id: Iba6a72f98c0f9299c22c58830ec5a643335b966a Reviewed-on: http://gerrit.cloudera.org:8080/16303 Reviewed-by: Thomas Tauber-Marshall <tmarshall@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Lightning-fast, distributed SQL queries for petabytes of data stored in Apache Hadoop clusters.
Impala is a modern, massively-distributed, massively-parallel, C++ query engine that lets you analyze, transform and combine data from a variety of data sources:
To learn more about Impala as a business user, or to try Impala live or in a VM, please visit the Impala homepage. Detailed documentation for administrators and users is available at Apache Impala documentation.
If you are interested in contributing to Impala as a developer, or learning more about Impala's internals and architecture, visit the Impala wiki.
Impala only supports Linux at the moment.
This distribution uses cryptographic software and may be subject to export controls. Please refer to EXPORT_CONTROL.md for more information.
See Impala's developer documentation to get started.
Detailed build notes has some detailed information on the project layout and build.