HBase
  1. HBase
  2. HBASE-11586

HFile's HDFS op latency sampling code is not used

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.98.4
    • Fix Version/s: 0.99.0, 0.98.5, 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      HFileReaderV2 calls HFile#offerReadLatency and HFileWriterV2 calls HFile#offerWriteLatency but the samples are never retrieved. There are no callers of HFile#getReadLatenciesNanos, HFile#getWriteLatenciesNanos, and related. The three ArrayBlockingQueues we are using as sample buffers in HFile will fill quickly and are never drained.

      There are also no callers of HFile#getReadTimeMs or HFile#getWriteTimeMs, and related, so we are incrementing a set of AtomicLong counters that will never be read nor reset.

      We are calling System.nanoTime in block read and write paths twice but not utilizing the measurements.

      We should hook this code back up to metrics or remove it.

      We are also not using HFile#getChecksumFailuresCount anywhere but in some unit test code.

      1. HBASE-11586.patch
        35 kB
        Andrew Purtell
      2. HBASE-11586.patch
        6 kB
        Andrew Purtell

        Activity

        Enis Soztutar made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Andrew Purtell made changes -
        Description HFileReaderV2 calls HFile#offerReadLatency and HFileWriterV2 calls HFile#offerWriteLatency but the samples are never drained. There are no callers of HFile#getReadLatenciesNanos, HFile#getWriteLatenciesNanos, and related. The three ArrayBlockingQueues we are using as sample buffers in HFile will fill quickly and are never drained.

        There are also no callers of HFile#getReadTimeMs or HFile#getWriteTimeMs, and related, so we are incrementing a set of AtomicLong counters that will never be read nor reset.

        We are calling System.nanoTime in block read and write paths twice but not utilizing the measurements.

        We should hook this code back up to metrics or remove it.

        We are also not using HFile#getChecksumFailuresCount anywhere but in some unit test code.
        HFileReaderV2 calls HFile#offerReadLatency and HFileWriterV2 calls HFile#offerWriteLatency but the samples are never retrieved. There are no callers of HFile#getReadLatenciesNanos, HFile#getWriteLatenciesNanos, and related. The three ArrayBlockingQueues we are using as sample buffers in HFile will fill quickly and are never drained.

        There are also no callers of HFile#getReadTimeMs or HFile#getWriteTimeMs, and related, so we are incrementing a set of AtomicLong counters that will never be read nor reset.

        We are calling System.nanoTime in block read and write paths twice but not utilizing the measurements.

        We should hook this code back up to metrics or remove it.

        We are also not using HFile#getChecksumFailuresCount anywhere but in some unit test code.
        Andrew Purtell made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Assignee Lars Hofhansl [ lhofhansl ] Andrew Purtell [ apurtell ]
        Resolution Fixed [ 1 ]
        Andrew Purtell made changes -
        Assignee Andrew Purtell [ apurtell ] Lars Hofhansl [ lhofhansl ]
        Andrew Purtell made changes -
        Assignee Lars Hofhansl [ lhofhansl ] Andrew Purtell [ apurtell ]
        Lars Hofhansl made changes -
        Assignee Lars Hofhansl [ lhofhansl ]
        Andrew Purtell made changes -
        Attachment HBASE-11586.patch [ 12657725 ]
        Andrew Purtell made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Andrew Purtell made changes -
        Attachment HBASE-11586.patch [ 12657668 ]
        Andrew Purtell made changes -
        Field Original Value New Value
        Description HFileReaderV2 calls HFile#offerReadLatency and HFileWriterV2 calls HFile#offerWriteLatency but the samples are never drained. There are no callers of HFile#getReadLatenciesNanos, HFile#getWriteLatenciesNanos, and related. The three ArrayBlockingQueues we are using as sample buffers in HFile will fill quickly and are never drained.

        There are also no callers of HFile#getReadTimeMs or HFile#getWriteTimeMs, and related, so we are incrementing a set of AtomicLong counters that will never be read nor reset.

        We are calling System.nanoTime in block read and write paths twice but not utilizing the measurements. We should hook this code back up to metrics or remove it.

        We are also not using HFile#getChecksumFailuresCount anywhere but in some unit test code.
        HFileReaderV2 calls HFile#offerReadLatency and HFileWriterV2 calls HFile#offerWriteLatency but the samples are never drained. There are no callers of HFile#getReadLatenciesNanos, HFile#getWriteLatenciesNanos, and related. The three ArrayBlockingQueues we are using as sample buffers in HFile will fill quickly and are never drained.

        There are also no callers of HFile#getReadTimeMs or HFile#getWriteTimeMs, and related, so we are incrementing a set of AtomicLong counters that will never be read nor reset.

        We are calling System.nanoTime in block read and write paths twice but not utilizing the measurements.

        We should hook this code back up to metrics or remove it.

        We are also not using HFile#getChecksumFailuresCount anywhere but in some unit test code.
        Andrew Purtell created issue -

          People

          • Assignee:
            Andrew Purtell
            Reporter:
            Andrew Purtell
          • Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development