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

HTableMultiplexer behavior during regions split

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Patch Available
    • Minor
    • Resolution: Unresolved
    • 1.1.2
    • None
    • Client
    • None

    Description

      HTableMultiplexer class mentions following in the javadoc : "If any queue is full, the HTableMultiplexer starts to drop the Put requests for that particular queue."

      This could be improved by replacing following code in HTableMultiplexer.resubmitFailedPut() method :

      HTableMultiplexer
      try {
      	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
      } finally {
      	FlushWorker.this.getRetryInQueue().decrementAndGet();
      	if (!succ) {
      		FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
      	}
      }
      

      With :

      try {
      	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
      	if (!succ) {
      		if (!resubmitFailedPut(ps, oldLoc)) {
      			FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
      		}
      	}
      } finally {
      	FlushWorker.this.getRetryInQueue().decrementAndGet();
      }
      

      Attachments

        1. HBASE-18837.v0.patch
          1 kB
          Kevin Su

        Activity

          People

            pingsutw Kevin Su
            schausson chausson
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: