XMLWordPrintableJSON

Details

    Description

      For effective reporting of the iostatistics of individual worker threads, we need a thread-level context which IO components update.

      • this contact needs to be passed in two background thread forming work on behalf of a task.
      • IO Components (streams, iterators, filesystems) need to update this context statistics as they perform work
      • Without double counting anything.

      I imagine a ThreadLocal IOStatisticContext which will be updated in the FileSystem API Calls. This context MUST be passed into the background threads used by a task, so that IO is correctly aggregated.

      I don't want streams, listIterators &c to do the updating as there is more risk of double counting. However, we need to see their statistics if we want to know things like "bytes discarded in backwards seeks". And I don't want to be updating a shared context object on every read() call.
      If all we want is store IO (HEAD, GET, DELETE, list performance etc) then the FS is sufficient.
      If we do want the stream-specific detail, then I propose

      • caching the context in the constructor
      • updating it only in close() or unbuffer() (as we do from S3AInputStream to S3AInstrumenation)
      • excluding those we know the FS already collects.

      important

      when backporting, please follow with HADOOP-18373

      Attachments

        Issue Links

          Activity

            People

              mehakmeetSingh Mehakmeet Singh
              stevel@apache.org Steve Loughran
              Votes:
              0 Vote for this issue
              Watchers:
              4 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 - 11h 20m
                  11h 20m