Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17033

LogRoller makes a lot of allocations unnecessarily

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0, 2.0.0
    • None
    • None
    • Reviewed

    Description

      I was looking at the other allocations for HBASE-17017. Seems that log roller thread allocates 200MB for ~7% of the TLAB space. This is a lot of allocations.

      I think the reason is this:

      while (true) {
              if (this.safePointAttainedLatch.await(1, TimeUnit.NANOSECONDS)) {
                break;
              }
              if (syncFuture.isThrowable()) {
                throw new FailedSyncBeforeLogCloseException(syncFuture.getThrowable());
              }
            }
      

      This busy wait is causing a lot allocations because the thread is added to the waiting list.

      Attachments

        1. hbase-17033_v1.patch
          2 kB
          Enis Soztutar
        2. Screen Shot 2016-11-04 at 6.39.00 PM.png
          893 kB
          Enis Soztutar

        Activity

          People

            enis Enis Soztutar
            enis Enis Soztutar
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: