You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Joe McDonnell (JIRA)" <ji...@apache.org> on 2018/12/10 00:45:00 UTC
[jira] [Created] (IMPALA-7946)
SynchronousThreadPool::SynchronousOffer() can return a timeout Status with
the wrong time limit
Joe McDonnell created IMPALA-7946:
-------------------------------------
Summary: SynchronousThreadPool::SynchronousOffer() can return a timeout Status with the wrong time limit
Key: IMPALA-7946
URL: https://issues.apache.org/jira/browse/IMPALA-7946
Project: IMPALA
Issue Type: Bug
Components: Backend
Affects Versions: Impala 3.2.0
Reporter: Joe McDonnell
Assignee: Joe McDonnell
A recent core build failed on custom_cluster/test_hdfs_timeout.py with this test output:
{noformat}
custom_cluster/test_hdfs_timeout.py:82: in test_hdfs_open_timeout
assert len(re.findall(error_pattern, str(ex))) > 0
E assert 0 > 0
E + where 0 = len([])
E + where [] = <function findall at 0x7f09aaa4e938>('hdfsOpenFile\\(\\) for.*failed to finish before the 5 second timeout', 'ImpalaBeeswaxException:\n Query aborted:hdfsOpenFile() for hdfs://localhost:20500/test-warehouse/alltypes/year=2009/month=11/091101.txt failed to finish before the 4 second timeout\n\n')
E + where <function findall at 0x7f09aaa4e938> = re.findall
E + and 'ImpalaBeeswaxException:\n Query aborted:hdfsOpenFile() for hdfs://localhost:20500/test-warehouse/alltypes/year=2009/month=11/091101.txt failed to finish before the 4 second timeout\n\n' = str(ImpalaBeeswaxException()){noformat}
When executing SynchronousOffer(), two different operation count towards the timeout. The first is submitting the task by calling Offer with the SynchronousWorkItem. The second is waiting for the task to complete by calling SynchronousWorkItem::Wait(). If the first part task takes any measurable time, then SynchronousOffer() modifies the timeout that it passes into SynchronousWorkItem::Wait() so that the total timeout is respected. The enforcement of the new timeout is correct, but it results in an incorrect error message (in this case, showing 4 seconds rather than 5).
This should pass in the original timeout and the current elapsed time. This would allow for correct enforcement with a correct error message.
This issue is flaky.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org