As far as I understand transaction guarantee is there only for the operations done via api using with TransacatonState (http://hadoop.apache.org/hbase/docs/current/api/org/apache/hadoop/hbase/client/transactional/TransactionalTable.html). So if IndexRegion also uses a TranscationalTable for secondary index table instead of simple HTable and uses the same TransactionState that client provides for updateIndex methods , we can gaurantee index consistency?
Can be done via overriding Transactional api's in IndexTable and modifying IndexRegion ? Is there any reason for not supporting transcation gaurantee with secondary indexes, isn't it dangerous without this? I am asking so as to decide whether we should modify this to support it or should we implement a separate TransactionalIndexTable ? Thanks, Murali Krishna ________________________________ From: Andrew Purtell <[email protected]> To: [email protected] Sent: Mon, 4 January, 2010 6:43:15 AM Subject: Re: Secondary indexes and transactions > > Yes. But IIUC, the client is running a transaction that spans the update to > > the two tables. It'll take care of the undo should say the update to the > > transacation table fails. > > > Isn't the update to the secondary index implicitly done ? As in, does > the client 'see' this update ? > My impression was that the secondary index update was done by the > indexedregion - and was not visible to the client : which manages occ > transaction ... Yes, you are correct. I think Stack just was not precise enough in his language. - Andy
