What is the motivation for calling flushCommits() automatically here? Are we trying to save client developers from writing buggy code?
The downside I see is that it's easy to envision a case where I use HTablePool for batch loading, but don't want to actually flush after every cycle of: get table, perform operation, return table. This change would prevent me from doing that and force me either write my own pool or somehow work around it.
In this case it both fails the obviousness test for me and limits what I can easily do as a developer. What is the upside? Is it sufficient to balance out the limitations?