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

stack edited comment on HBASE-13071 at 5/11/15 3:50 AM:
--------------------------------------------------------

+1 on this last patch. At a minimum, its an nice illustration of what is 
possible. I'll commit in a day or so. Anyone else want to have a look?

A few questions [~eshcar]. 

Do the changes in table-scoped configuration -- the changes in 
TableConfiguration -- make sense? Having Scan defaults -- a client-side op -- 
in the general Configuration seems a little overbroad. Probably no harm done 
since it off by default so we can let it be.

Is the checkstyle error from your report? No harm, I can check on commit so 
don't worry about it.

I suggest you write up a fat release note. Release note is probably how folks 
will learn of this feature (unless you do a blog post or something -- which 
might make sense since you have those nice perf findings -- have you redone 
them for this patch that is now size-base?).  If you have done th size-base 
perf analysis, suggest you link to that in the release notes too.

Nice work.




was (Author: stack):
+1 on this last patch. At a minimum, its an nice illustration of what is 
possible. I'll commit in a day or so. Anyone else want to have a look?

A few questions [~eshcar]. 

Do the changes in table-scoped configuration -- the changes in 
TableConfiguration -- make sense? Having Scan defaults -- a client-side op -- 
in the Configuration seems a little overbroad. I seem no harm done since it off 
by default.

Is the checkstyle error from your report? No harm, I can check on commit so 
don't worry about it.

I suggest you write up a fat release note. Release note is probably how folks 
will learn of this feature (unless you do a blog post or something -- which 
might make sense since you have those nice perf findings -- have you redone 
them for this patch that is now size-base?).  If you have done th size-base 
perf analysis, suggest you link to that in the release notes too.

Nice work.



> Hbase Streaming Scan Feature
> ----------------------------
>
>                 Key: HBASE-13071
>                 URL: https://issues.apache.org/jira/browse/HBASE-13071
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Eshcar Hillel
>         Attachments: 99.eshcar.png, HBASE-13071_98_1.patch, 
> HBASE-13071_trunk_1.patch, HBASE-13071_trunk_10.patch, 
> HBASE-13071_trunk_2.patch, HBASE-13071_trunk_3.patch, 
> HBASE-13071_trunk_4.patch, HBASE-13071_trunk_5.patch, 
> HBASE-13071_trunk_6.patch, HBASE-13071_trunk_7.patch, 
> HBASE-13071_trunk_8.patch, HBASE-13071_trunk_9.patch, 
> HBASE-13071_trunk_rebase_1.0.patch, HBASE-13071_trunk_rebase_2.0.patch, 
> HBaseStreamingScanDesign.pdf, HbaseStreamingScanEvaluation.pdf, 
> HbaseStreamingScanEvaluationwithMultipleClients.pdf, gc.delay.png, 
> gc.eshcar.png, gc.png, hits.delay.png, hits.eshcar.png, hits.png, 
> latency.delay.png, latency.png, network.png
>
>
> A scan operation iterates over all rows of a table or a subrange of the 
> table. The synchronous nature in which the data is served at the client side 
> hinders the speed the application traverses the data: it increases the 
> overall processing time, and may cause a great variance in the times the 
> application waits for the next piece of data.
> The scanner next() method at the client side invokes an RPC to the 
> regionserver and then stores the results in a cache. The application can 
> specify how many rows will be transmitted per RPC; by default this is set to 
> 100 rows. 
> The cache can be considered as a producer-consumer queue, where the hbase 
> client pushes the data to the queue and the application consumes it. 
> Currently this queue is synchronous, i.e., blocking. More specifically, when 
> the application consumed all the data from the cache --- so the cache is 
> empty --- the hbase client retrieves additional data from the server and 
> re-fills the cache with new data. During this time the application is blocked.
> Under the assumption that the application processing time can be balanced by 
> the time it takes to retrieve the data, an asynchronous approach can reduce 
> the time the application is waiting for data.
> We attach a design document.
> We also have a patch that is based on a private branch, and some evaluation 
> results of this code.



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

Reply via email to