[ https://issues.apache.org/jira/browse/IMPALA-8442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Armstrong reassigned IMPALA-8442: ------------------------------------- Assignee: (was: Tim Armstrong) > Clean up concurrency around query_status_ > ----------------------------------------- > > Key: IMPALA-8442 > URL: https://issues.apache.org/jira/browse/IMPALA-8442 > Project: IMPALA > Issue Type: Bug > Components: Backend > Reporter: Tim Armstrong > Priority: Major > > The handling of concurrent access to ClientRequestState::query_status_ is > messy - it's exposed directly via query_status() and a lot of callers don't > hold ClientRequestState::lock_. > This appears to be safe in many places for subtle reasons, e.g. because the > value won't be modified after a certain point in the query lifecycle, so it's > not dangerous to access it when logging an audit record. However this is > brittle and likely to lead with bugs if we change the code around it > signicantly. > We could approach this in various ways, e.g. updating callers to consistently > acquire the lock and/or documenting invariants around when its safe to do so > without holding it. Or we could make Status thread-safe, or have a > thread-safe Status wrapper. -- This message was sent by Atlassian Jira (v8.3.2#803003) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org