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 "Tim Armstrong (Jira)" <ji...@apache.org> on 2020/06/19 19:01:00 UTC

[jira] [Resolved] (IMPALA-2839) add stress options to exercise infrequently executed paths

     [ https://issues.apache.org/jira/browse/IMPALA-2839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Armstrong resolved IMPALA-2839.
-----------------------------------
    Resolution: Fixed

We've added a lot of debug or stress options over time, this probably isn't useful to keep open.

> add stress options to exercise infrequently executed paths
> ----------------------------------------------------------
>
>                 Key: IMPALA-2839
>                 URL: https://issues.apache.org/jira/browse/IMPALA-2839
>             Project: IMPALA
>          Issue Type: Task
>          Components: Backend
>    Affects Versions: Impala 2.3.0
>            Reporter: Daniel Hecht
>            Priority: Minor
>              Labels: ramp-up
>
> We should add debug-only stress options that help exercise more paths in our testing.  We have one example already: 
> {code:title=global-flags.cc}
> DEFINE_int32(stress_free_pool_alloc, 0, "A stress option which causes memory allocations "
>     "to fail once every n allocations where n is the value of this flag. Effective in "
>     "debug builds only.");
> {code}
> Some examples that we should add:
> * We could exercise this path by overriding the curr_tuple_pool_->total_allocated_bytes() > MAX_TUPLE_POOL_SIZE condition, which would might help test for IMPALA-2829:
> {code:title=AnalyticEvalNode::ProcessChildBatch()}
>   // Transfer resources to prev_tuple_pool_ when enough resources have accumulated
>   // and the prev_tuple_pool_ has already been transfered to an output batch.
>   if (curr_tuple_pool_->total_allocated_bytes() > MAX_TUPLE_POOL_SIZE &&
>       (prev_pool_last_result_idx_ == -1 || prev_pool_last_window_idx_ == -1)) {
>     prev_tuple_pool_->AcquireData(curr_tuple_pool_.get(), false);
>     prev_pool_last_result_idx_ = last_result_idx_;
>     if (window_tuples_.size() > 0) {
>       prev_pool_last_window_idx_ = window_tuples_.back().first;
>     } else {
>       prev_pool_last_window_idx_ = -1;
>     }
>     VLOG_FILE << id() << " Transfer resources from curr to prev pool at idx: "
>               << stream_idx << ", stores tuples with last result idx: "
>               << prev_pool_last_result_idx_ << " last window idx: "
>               << prev_pool_last_window_idx_;
>   }
> {code}
> * We could cause RowBatch::AtCapacity() to become true more often than normal (will be easier to do after http://gerrit.cloudera.org:8080/#/c/1399/ is committed).
> Then we should enable these flags for some of our testing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org