Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-9415

DCHECK in ClientRequestState::FetchRowsInternal when using GCC7 with the new ABI

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 3.4.0
    • Impala 4.0.0
    • Backend
    • None

    Description

      ClientRequestState::FetchRowsInternal is hitting a DCHECK when running hs2/test_fetch_first.py::TestFetchFirst::test_query_stmts_v1 and other hs2 tests:

      F0221 14:27:15.796236  6013 client-request-state.cc:1090] Check failed: before + delta_bytes >= after (14270 vs. 14340) Combined result sets consume more memory than both individually (before: 0, delta_bytes: 14270, after: 14340)

      This is firing because the size of a row increases when it is copied into the result set. The size increases because the capacity of the string is increasing when it is copied. In the row passed in, one field has a string with size=29, capacity=29. After it is copied into the result set, it has size=29, capacity=30. Since we count the string memory usage based on capacity, the memory usage has gone up.

      In general, the behavior of capacity() is unspecified, and we can't rely on a specific semantic.

      Attachments

        Activity

          People

            joemcdonnell Joe McDonnell
            joemcdonnell Joe McDonnell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: