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

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

What version you thinking @chia-ping? If 2.1/3.0, should we instead be
working toward HBASE-16473 *Merge WALEdit and WALKey*? Our WALEdit/WALKey
duplicate info and seem way fatter than they need to be. Would be nice to
revisit these data structures... in light of our experience writing and

Or you have a shorter horizon sir?


On Sun, May 27, 2018 at 8:53 AM, 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