Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3200 Replace BufferedBlockMgr with new buffer pool
  3. IMPALA-5113

Buffer pool unpinned invariant does not take into account multiply-pinned bytes

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.9.0
    • Fix Version/s: Impala 2.9.0
    • Component/s: Backend
    • Labels:
      None
    • Epic Color:
      ghx-label-6

      Description

      While working on converting the BufferedBlockMgr test I discovered that the "dirty unpinned bytes <= unused reservation" invariant is too strict. It should be "dirty unpinned bytes <= unused reservation + multiply pinned bytes", since pinning a page multiple times does not require additional buffers.

      I was able to prove the bug by adding a DCHECK for the previous invariant. Pinning a page multiple times could violate the invariant (harmlessly, aside from waiting for some extra I/O).

        Attachments

          Activity

            People

            • Assignee:
              tarmstrong Tim Armstrong
              Reporter:
              tarmstrong Tim Armstrong
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: