Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11588

[C++] Add traceable general purpose queue(s)

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • C++
    • None

    Description

      There are a few places we queue data/jobs today (e.g. readahead, thread pool).   In order to reduce complexity (single responsibility) and add traceability (so we can tell where queues are filling up)  we should create general purpose queues (e.g. the boost lockfree one) and add some basic performance counters/events (queue size, queue full, queue starved).

      We will need multiple queue implementations.  Some places will need a spsc lock free queue and others will need a multi-producer / multi-consumer queue with proper waits (and potentially more queues than that).

      Attachments

        Issue Links

          Activity

            People

              westonpace Weston Pace
              westonpace Weston Pace
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 50m
                  3h 50m