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

Liyin Tang updated HBASE-6103:
------------------------------

    Description: 
Currently HBaseServer is running with a single listener thread, which is 
responsible for accepting the connection, reading the data from network 
channel, deserializing the data into writable objects and handover to the IPC 
handler threads. 

Also HBaseServer is running with a single respond thread, which will serialize 
the writable objects into bytes and send them back through the connection.

When there are multiple hbase clients connecting to the region server 
(HBaseServer) and reading/writing a large set of data, the listener and the 
respond thread will be performance bottleneck. 

So the solution is HBaseServer shall serialize and deserialize the data for 
each connection in parallel.

BTW, it is also one of the reasons that the parallel scanning from multiple 
clients is far slower than single client case.









  was:
Currently HBaseServer is running with a single listener thread, which is 
responsible for accepting the connection, reading the data from network 
channel, deserializing the data into writable objects and handover to the IPC 
handler threads. 

So when there are multiple hbase clients connecting to the region server 
(HBaseServer) and reading/writing a large set of data, this listener thread 
will be performance bottleneck. 

Ideally, the listener thread shall only accept the connection and handover the 
connection to the IPC threads directly, so that each IPC thread would read the 
data from network channel, deserialize the data and execute the Call. 

In this way, the HBaseServer can read and deserialize data from each connection 
in parallel.






        Summary: HBaseServer shall serialize and deserialize data for each 
connection in parallel  (was: HBaseServer shall read and deserialize data from 
each connection in parallel)
    
> HBaseServer shall serialize and deserialize data for each connection in 
> parallel
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-6103
>                 URL: https://issues.apache.org/jira/browse/HBASE-6103
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Liyin Tang
>            Assignee: Liyin Tang
>
> Currently HBaseServer is running with a single listener thread, which is 
> responsible for accepting the connection, reading the data from network 
> channel, deserializing the data into writable objects and handover to the IPC 
> handler threads. 
> Also HBaseServer is running with a single respond thread, which will 
> serialize the writable objects into bytes and send them back through the 
> connection.
> When there are multiple hbase clients connecting to the region server 
> (HBaseServer) and reading/writing a large set of data, the listener and the 
> respond thread will be performance bottleneck. 
> So the solution is HBaseServer shall serialize and deserialize the data for 
> each connection in parallel.
> BTW, it is also one of the reasons that the parallel scanning from multiple 
> clients is far slower than single client case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to