[
https://issues.apache.org/jira/browse/HBASE-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-1910:
----------------------------------
Attachment: thread.dump.gz
Attached thread dump provided by user for reference.
> IndexedRegion RPC deadlock
> --------------------------
>
> Key: HBASE-1910
> URL: https://issues.apache.org/jira/browse/HBASE-1910
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.1, 0.21.0
> Reporter: Andrew Purtell
> Fix For: 0.22.0
>
> Attachments: thread.dump.gz
>
>
> From Tatsuya Kawano up on hbase-user@
> {quote}
> 50 client threads who try to put millions of records, autoFlush(false),
> flushCommits() on every 5,000 put. After inserting about 3 million records, a
> deadlock occurred on a region server who has both the table and index regions
> loaded.
> I have attached a full thread dump of the deadlocked region server, and you
> can see IPC Server handlers are blocked in
> org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion.updateIndex().
> I found the flowing FIXME comment on updateIndex() method, and it seems this
> is the deadlock I'm having.
> {code}
> // FIXME: This call takes place in an RPC, and requires an RPC. This makes
> for
> // a likely deadlock if the number of RPCs we are trying to serve is >= the
> // number of handler threads.
> private void updateIndex(IndexSpecification indexSpec, byte[] row,
> SortedMap<byte[], byte[]> columnValues) throws IOException {
> {code}
> I use HBase 0.20.1 and my region servers were running with 10 RPC handler
> threads on each (default).
> Maybe you can workaround this by adding more RPC handlers (increase the value
> of "hbase.regionserver.handler.count" in hbase-site.xml)
> {quote}
> Opening this issue to track the FIXME.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.