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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 3.4.0
    • Fix Version/s: Impala 4.0
    • Component/s: Backend
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: