You don't need to close table for every Put.

But table should be closed at some point - before your client exits.


On Mon, Aug 11, 2014 at 11:28 AM, Mingtao Zhang <[email protected]>
wrote:

> Hi,
>
> I am looking at some code like this.
>
>     public void put(String tableName, Put put) {
>         HTableInterface table = null;
>         try {
>             table = connection.getTable(tableName);
>             table.put(put);
>         } catch (Throwable e) {
>             log.error("put to HBase failed", e);
>         } finally {
>             if (null != table) {
>                 try {
>                     //
> http://hbase.apache.org/book/perf.writing.html#perf.hbase.client.autoflush
>                     table.close();
>                 } catch (Exception e) {
>                     log.error("close HTable failed", e);
>                 }
>             }
>         }
>     }
>
> By looking at the documentation, conncetion.getTable(tableName) will be a
> 'cheap' operation. But table.close() will flush things to network.
>
> I wonder do I need to call table.close()? or it will be managed by HBase
> client?
>
> Best Regards,
> Mingtao
>

Reply via email to