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

ClientAsyncPrefetchScanner may fail due to too many rows

    XMLWordPrintableJSON

Details

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

    Description

      ClientAsyncPrefetchScanner uses a fixed capacity LinkedBlockingQueue, so it may throw “queue full”. For example, scan with infinite caching or extra data from observer.

        @Override
        protected void initCache() {
          // concurrent cache
          cacheCapacity = calcCacheCapacity();
          cache = new LinkedBlockingQueue<Result>(cacheCapacity);
          cacheSizeInBytes = new AtomicLong(0);
          exceptionsQueue = new ConcurrentLinkedQueue<Exception>();
          prefetchRunnable = new PrefetchRunnable();
          prefetchRunning = new AtomicBoolean(false);
          closingThreadId = new AtomicLong(NO_THREAD);
        }
      

      Attachments

        1. HBASE.17376.v0.patch
          5 kB
          Chia-Ping Tsai
        2. HBASE.17376.v1.patch
          6 kB
          Chia-Ping Tsai

        Activity

          People

            chia7712 Chia-Ping Tsai
            chia7712 Chia-Ping Tsai
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: