0

質問が1つあります。Javaプログラムを使用してHBaseにデータを書き込みます。そこにHTableオブジェクトがあり、次のメソッド(擬似コード)を呼び出します。

// creates a Put object with new data
Put put = createNewPutObject(); 
htable.put(put);
htable.flushCommits();

clearBufferOnFailはtrueに設定されています。

this.htable.setAutoFlush(false, true);

コードの最初の部分は何度も何度も呼び出されます。何かをしたり、Putオブジェクトを作成したり、htableをフラッシュしたり、さらに何かをしたり、Putオブジェクトを作成したりします...など。

HTableオブジェクトがHBaseへの接続を失った場合はどうなりますか?これは内部で処理されますか?または、HTableオブジェクトを閉じてから、新しいHTableオブジェクトを開く必要がありますか?これまで、接続はHTableオブジェクトから接続プールを使用して内部的に処理されると考えていたため、何もする必要がありませんでした。例外をキャッチして再試行するだけで十分だと思いました。clearBufferOnFailがtrueに設定されているため、重複データは書き込まれません。

しかし、どういうわけか、あまりにも多くの接続が開いている可能性がありますか?それともこれはすべて処理されますか?

4

0 に答える 0