impala-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Ho (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IMPALA-5102) Handle uncaught exceptions in Impalad
Date Mon, 20 Mar 2017 21:37:42 GMT
Michael Ho created IMPALA-5102:
----------------------------------

             Summary: Handle uncaught exceptions in Impalad
                 Key: IMPALA-5102
                 URL: https://issues.apache.org/jira/browse/IMPALA-5102
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
    Affects Versions: Impala 2.9.0
            Reporter: Michael Ho
            Assignee: Joe McDonnell
            Priority: Critical


Impalad uses noexcept API of boost library whenever possible. However, there are certain API
which don't implement the noexcept variant. One example of this is the thread creation interface:

{noformat}
void Thread::StartThread(const ThreadFunctor& functor) {
  DCHECK(thread_manager.get() != nullptr)
      << "Thread created before InitThreading called";
  DCHECK(tid_ == UNINITIALISED_THREAD_ID) << "StartThread called twice";

  Promise<int64_t> thread_started;
  thread_.reset(
      new thread(&Thread::SuperviseThread, name_, category_, functor, &thread_started));

  // TODO: This slows down thread creation although not enormously. To make this faster,
  // consider delaying thread_started.Get() until the first call to tid(), but bear in
  // mind that some coordination is required between SuperviseThread() and this to make
  // sure that the thread is still available to have its tid set.
  tid_ = thread_started.Get();

  VLOG(2) << "Started thread " << tid_ << " - " << category_ <<
":" << name_;
}
{noformat}

We have been bitten by this uncaught exception in the past such as IMPALA-3104. This kind
of exception is more prone to occur when there are a large number of fragment instances running
in an Impala cluster.

There are other uncaught exceptions in the code. Please update this JIRA as we find more.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message