[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DISCUSS] Make WALEdit an Interface; expose Read-Only version to CPs

Would help if we had some idea how other CPs want to interact with in
flight edits. I presume Phoenix isn't the only one who wants to "meddle".
Read-only for CPs seems like a big feature shift to me.

On Sun, May 27, 2018, 10:53 Chia-Ping Tsai <chia7712@xxxxxxxxxx> wrote:

> hi folks,
> I noticed that we make only the WALKey an interface and we leave the TODO
> in WALEdit.
> {code}
> // TODO: Do not expose this class to Coprocessors. It has set methods. A
> CP might meddle.
> @InterfaceAudience.LimitedPrivate({ HBaseInterfaceAudience.REPLICATION,
>     HBaseInterfaceAudience.COPROC })
> public class WALEdit implements HeapSize {
> {code}
> WALEdit is used in WALObserver and RegionObserver. It is easy to make the
> WALEdit an read-only interface but Phoenix need to add something to WALEdit
> in order to come in the consistence guarantee. So how we iron this issue
> out? Could we make the WALEdit a read-only interface and encourage phoenix
> in casting the WALEdit to the writable WALEdit?
> --
> chia-ping