hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: setMaxResultSize on Gets
Date Tue, 23 Aug 2016 04:54:08 GMT
On Mon, Aug 22, 2016 at 3:02 PM, Bryan Beaudreault <bbeaudreault@hubspot.com
> wrote:

> In HBase 1.2.x and higher you can call setMaxResultSize on a Scan to limit
> the impact of scans that are too aggressive, by bailing out at a certain
> size response. The client side will nicely splice together all of the
> isPartial responses to create a full one as well, pushing the danger to the
> client side where it belongs.
> However, there doesn't appear to be any way to do similar on Gets, despite
> Gets being backed by Scans under the covers.  I do notice
> a setMaxResultsPerColumnFamily, but this seems much less straightforward
> than setMaxResultSize.
> Was there a reason that Gets did not get the same treatment that Scans got?
> We regularly see issues where someone has a large row and does a
> too-aggressive Get against it. We're currently looking to build a wrapper
> using setMaxResultsPerColumnFamily or adding support for setMaxResultSize
> to Gets, but I want to make sure there wasn't a reason it was avoided in
> the first place.

A simple case of Scan myopia/focus I'd say Bryan. Oversight. I don't see
any reason why we shouldn't do Get in same way. In fact it came up recently
in an internal conversation. The difficult part might the protocol going
back and forth adding in an incremental. A Get is a Scan but only after it
arrives at the server. I've not looked but hopefully it could be the same
as Scan.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message