hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erik Rozendaal (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2180) Bad random read performance from synchronizing hfile.fddatainputstream
Date Thu, 25 Feb 2010 16:34:28 GMT

    [ https://issues.apache.org/jira/browse/HBASE-2180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838399#action_12838399

Erik Rozendaal commented on HBASE-2180:

I saw both CLOSE_WAIT and TIME_WAIT. Maybe CLOSE_WAIT was in the majority. Connections were
mostly to the data node.

$ uname -a
Linux inrdb-worker1.ripe.net 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64
x86_64 x86_64 GNU/Linux

They do go after a while, since after a few of the "Cannot assign requested address" exceptions
the server starts working again.

Unfortunately I'll be away for the weekend and won't be able to investigate further. I wonder
why so many connections are being opened so quickly that the server runs out of ports within
a few minutes of starting the gets/puts?

> Bad random read performance from synchronizing hfile.fddatainputstream
> ----------------------------------------------------------------------
>                 Key: HBASE-2180
>                 URL: https://issues.apache.org/jira/browse/HBASE-2180
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: ryan rawson
>            Assignee: stack
>             Fix For: 0.20.4, 0.21.0
>         Attachments: 2180-v2.patch, 2180.patch
> deep in the HFile read path, there is this code:
>     synchronized (in) {
>       in.seek(pos);
>       ret = in.read(b, off, n);
>     }
> this makes it so that only 1 read per file per thread is active. this prevents the OS
and hardware from being able to do IO scheduling by optimizing lots of concurrent reads. 
> We need to either use a reentrant API (pread may be partially reentrant according to
Todd) or use multiple stream objects, 1 per scanner/thread.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message