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.

Thanks!

Reply via email to