Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-3997

UngroupedAggregateRegionObserver.commitBatchWithHTable() should not check the memstore size and wait for flush.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 4.12.0
    • None
    • None

    Description

      ankit.singhal

      In UngroupedAggregateRegionObserver.commitBatchWithHTable() do we need to check the memstore size and wait for the flush. We are using a htable to write the mutations.

       // When memstore size reaches blockingMemstoreSize we are waiting 3 seconds for the
              // flush happen which decrease the memstore size and then writes allowed on the region.
              for (int i = 0; region.getMemstoreSize().get() > blockingMemstoreSize && i < 30; i++) {
                  try {
                      checkForRegionClosing();
                      Thread.sleep(100);
                  } catch (InterruptedException e) {
                      Thread.currentThread().interrupt();
                      throw new IOException(e);
                  }
              }
              logger.debug("Committing batch of " + mutations.size() + " mutations for " + table);
              try {
                  table.batch(mutations);
              } catch (InterruptedException e) {
                  throw new RuntimeException(e);
              }
      

      FYI jamestaylor apurtell

      Attachments

        1. PHOENIX-3997.patch
          3 kB
          Geoffrey Jacoby
        2. PHOENIX-3997-v2.patch
          11 kB
          Geoffrey Jacoby
        3. PHOENIX-3997-v3.patch
          12 kB
          Geoffrey Jacoby

        Issue Links

          Activity

            People

              gjacoby Geoffrey Jacoby
              tdsilva Thomas D'Silva
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: