Thanks Jesse, that is exactly what I was asking...
Wei

---------------------------------
Wei Tan, PhD
Research Staff Member
IBM T. J. Watson Research Center
http://researcher.ibm.com/person/us-wtan



From:        Jesse Yates <jesse.k.yates@gmail.com>
To:        user@phoenix.incubator.apache.org,
Date:        02/27/2014 09:59 PM
Subject:        Re: mutable index-- where is read old and delete




For the mutable index case, that's all part of the PhoenixIndexCodec. Since the base table hasn't changed (data doesn't disappear from HBase) we can actually rebuild what the index row key is and issue a delete for it, and then add our new index entry from the pending put.

It all goes through the covered index builder.

On Feb 27, 2014 6:36 PM, "Wei Tan" <wtan@us.ibm.com> wrote:
Hi, I am reading this
https://github.com/forcedotcom/phoenix/wiki/Secondary-Indexing and trying
to figure out what is the difference between mutable and immutable index.
One difference I figure out is that immutable index is client-managed
while mutable index is cp-managed.

I was expecting that, mutable index coprocessor do three things: 1) put
new index entry, 2) read base table and get old index value, 3) delete old
index value if any. I could not find code for 2) and 3). So am I
understanding it wrong, or I did not find the correct code path?

Thanks,
Wei


---------------------------------

Wei Tan, PhD

Research Staff Member

IBM T. J. Watson Research Center

http://researcher.ibm.com/person/us-wtan