我有一个用例,我需要检查Hbase Puts是否实际上是在写更改后的值。只有更改时才需要更新Hbase。
我做了我的checkAndPut方法的功课,知道,但是这并不能真正解决问题:
- 我这可能是一个变化中的HBase的最新值,或者不是一个价值客户端
- 如果不改变,我宁愿把它写在所有
- 随着checkAndPut我只能检查一个客户端价值的平等和服务器端值
- checkAndPut将执行认沽如果这是真的
我能想到的2级的解决方案,无论是不是非常有吸引力:
- 进行预认沽检查客户端,正从HBase的最新值(2个往返)
- 在做checkAndPut为后以上,当它返回false,重新提交认沽没有checkAndPut(2个往返,加上所有非改值的改写成功checkAndPut S)
有没有办法扭转的checkAndPut逻辑和执行只要比较,立即放置n失败?甚至对这个问题采取不同的方法?