You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Riza Suminto (Jira)" <ji...@apache.org> on 2020/12/05 03:15:00 UTC

[jira] [Resolved] (IMPALA-10337) DCHECK hit at SpillableRowBatchQueue when row size exceed max reservation

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

Riza Suminto resolved IMPALA-10337.
-----------------------------------
    Fix Version/s: Impala 4.0
       Resolution: Fixed

> DCHECK hit at SpillableRowBatchQueue when row size exceed max reservation
> -------------------------------------------------------------------------
>
>                 Key: IMPALA-10337
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10337
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.4.0
>            Reporter: Riza Suminto
>            Assignee: Riza Suminto
>            Priority: Major
>             Fix For: Impala 4.0
>
>
> While working on IMPALA-9856, I found that the following DCHECK in SpillableRowBatchQueue::AddBatch consistently hit when result spooling is enabled and row size is larger than resource_profile_.max_reservation, causing impalad to crash.
>  [https://github.com/apache/impala/blob/eea617b/be/src/runtime/spillable-row-batch-queue.cc#L97]
> We can reproduce this issue by adding the following query options in
>  query_test/test_insert.py::TestInsertQueries::test_insert_large_string
> {code:java}
>     self.client.set_configuration_option("spool_query_results", "1")
>     self.client.set_configuration_option("max_row_size", "257mb"){code}
> Additionally, setting max_result_spooling_mem to 512MB will increase
>  resource_profile_.max_reservation to fit the large row and avoid this DCHECK.
> Instead of DCHECK, I think impalad should return error status, suggesting that user need to set larger max_result_spooling_mem.
> Another solution is to also consider max_row_size when computing maxMemReservationBytes in PlanRootSink.java.
>  [https://github.com/apache/impala/blob/eea617b/fe/src/main/java/org/apache/impala/planner/PlanRootSink.java#L74]



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