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!