We are using a hbase table as a big queue. Many clients can insert into it, and many clients want to read data from it. Problem is mutual exclusion. At span that a client read data until delete it another client can read it too! But we want to make sure each row return to one and only one client.
I should mention we are using Java hbase client.
Is there a way like get and delete a row atomically or get and update in hbase, or some thing that could manage this situation?
I found RowLock mechanism but it's deprecated and does not exists anymore. Also there is a distribution lock using zookeeper but it does not seem efficient.
Thanks in advance.