You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2016/12/26 23:53:58 UTC

[jira] [Updated] (HBASE-17376) ClientAsyncPrefetchScanner may fail due to too many rows

     [ https://issues.apache.org/jira/browse/HBASE-17376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-17376:
---------------------------
    Summary: ClientAsyncPrefetchScanner may fail due to too many rows  (was: ClientAsyncPrefetchScanner fails due to too many rows)

> ClientAsyncPrefetchScanner may fail due to too many rows
> --------------------------------------------------------
>
>                 Key: HBASE-17376
>                 URL: https://issues.apache.org/jira/browse/HBASE-17376
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: ChiaPing Tsai
>            Assignee: ChiaPing Tsai
>             Fix For: 2.0.0
>
>         Attachments: HBASE.17376.v0.patch, HBASE.17376.v1.patch
>
>
> ClientAsyncPrefetchScanner uses a fixed capacity LinkedBlockingQueue, so it may throw “queue full”. For example, scan with infinite caching or extra data from observer.
> {noformat}
>   @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);
>   }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)