Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4E4F3102D5 for ; Tue, 6 Aug 2013 19:47:49 +0000 (UTC) Received: (qmail 32228 invoked by uid 500); 6 Aug 2013 19:47:49 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 32198 invoked by uid 500); 6 Aug 2013 19:47:49 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 32189 invoked by uid 99); 6 Aug 2013 19:47:49 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Aug 2013 19:47:49 +0000 Date: Tue, 6 Aug 2013 19:47:49 +0000 (UTC) From: "Elliott Clark (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-9129) Scanner prefetching leaks scanners. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-9129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elliott Clark updated HBASE-9129: --------------------------------- Attachment: HBASE-9129-trunk-1.patch rebased trunk version > Scanner prefetching leaks scanners. > ----------------------------------- > > Key: HBASE-9129 > URL: https://issues.apache.org/jira/browse/HBASE-9129 > Project: HBase > Issue Type: Bug > Affects Versions: 0.95.1 > Reporter: Elliott Clark > Assignee: Elliott Clark > Priority: Blocker > Fix For: 0.95.2 > > Attachments: HBASE-9129-0.patch, HBASE-9129-95-1.patch, HBASE-9129-trunk-1.patch > > > Running YCSB workload-e on 0.95 basically hangs the whole cluster. > YCSB opens a scanner for 100 rows. > # YCSB Calls next > # Pre-fetching starts > # YCSB Closes scanner > # Pre-fetching re-adds the scanner. > So the end result is: > {noformat} > "scan-prefetch-2-thread-45" daemon prio=10 tid=0x00007f7e406ec800 nid=0x40bc runnable [0x00007f75ffefd000] > java.lang.Thread.State: RUNNABLE > at org.apache.hadoop.hbase.regionserver.Leases$Lease.equals(Leases.java:272) > at java.util.PriorityQueue.indexOf(PriorityQueue.java:342) > at java.util.PriorityQueue.remove(PriorityQueue.java:360) > at java.util.concurrent.DelayQueue.remove(DelayQueue.java:476) > at org.apache.hadoop.hbase.regionserver.Leases.removeLease(Leases.java:232) > - locked <0x00007f774455a660> (a java.util.concurrent.DelayQueue) > at org.apache.hadoop.hbase.regionserver.RegionScannerHolder$ScanPrefetcher.call(RegionScannerHolder.java:269) > at org.apache.hadoop.hbase.regionserver.RegionScannerHolder$ScanPrefetcher.call(RegionScannerHolder.java:260) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > "scan-prefetch-2-thread-44" daemon prio=10 tid=0x00007f7e4c1ba800 nid=0x40bb waiting on condition [0x00007f7605b79000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007f774455ad78> (a java.util.concurrent.SynchronousQueue$TransferStack) > at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) > at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359) > at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942) > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > "scan-prefetch-2-thread-43" daemon prio=10 tid=0x00007f7e38cbc800 nid=0x40ba waiting on condition [0x00007f7609ab8000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007f774455ad78> (a java.util.concurrent.SynchronousQueue$TransferStack) > at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) > at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) > at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359) > at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942) > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722){noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira