I agree that validation should happen on the server. We should not assume anything about the client in terms of correctness.
On Wed, Jul 7, 2021 at 21:30 Andrew Purtell <[email protected]> wrote: > I don’t have a strong opinion but servers can never fully trust clients. > The client can be altered. Maybe not by you/us. Typically the servers are > fully under your control and this is where you must apply service > protection, hence validity checks on the server side - regardless of what > the client does. > > > On Jul 7, 2021, at 2:23 AM, Baiqiang Zhao <[email protected]> wrote: > > > > Thanks Reid and Andrew! > > > > Agree to reject negative TTL directly on the write path, because negative > > TTL is invalid. > > The point of divergence is whether this check is on the client side or on > > the server side. > > > > I simply think it is easier to check and throw the exception directly on > > the client side, and there is no additional pressure on the server. > > If the check is on the server side, it will increase the pressure on the > > RegionServer (although the pressure is small). > > > > I prefer to check and throw exceptions on the client side. > > > > Andrew Purtell <[email protected]> 于2021年7月4日周日 上午3:16写道: > > > >> We can also reject the request on the server side with an extra > >> validation. A negative TTL is not valid in any case. > >> > >>>> On Jul 3, 2021, at 5:35 AM, Reid Chan <[email protected]> wrote: > >>> > >>> The default FOREVER is LONG.MAX, quite long enough. > >>> > >>> I checked the JIRA. The simplest fix is to ban setting -1 from the > client > >>> side by raising an exception, meanwhile we could improve the method > docs. > >>> > >>> I'm not a fan of changing the semantics of FOREVER, -1. > >>> > >>> > >>> > >>> > >>>> On Fri, Jul 2, 2021 at 2:36 PM Baiqiang Zhao <[email protected]> > >> wrote: > >>>> > >>>> Hi, > >>>> > >>>> For CF TTL, “-1” means it will not expire. But for Cell TTL, “-1” will > >>>> expire immediately. In HBASE-26056, I tried to unify the meaning of > cell > >>>> TTL and CF TTL on the value of -1, both mean never expire. > >>>> > >>>> This is a behavior change. Maybe will break some users usage. However, > >>>> setting it to -1 will immediately expires, and it doesn't make any > >> sense. I > >>>> haven't thought of what kind of scene would be used in this way. So I > >> want > >>>> to hear your opinions about this change. > >>>> > >>>> Thanks. > >>>> > >> >
