So, we introduce a new Annotation IA.LimitedPrivate(Exception) to decorate
the exceptions, which are free to catched and propagated by users, but
should not be created by users themselves.

张铎(Duo Zhang) <palomino...@gmail.com> 于2020年10月18日周日 下午10:08写道:

> I think IA.Public maybe over killed here for some exceptions.
> For example, the DoNotRetryIOException, we just want users to catch this
> exception, but usually we do not expect users to create this exeption by
> their own?
> But IA.Public means we can not change the public methods of the class, so
> we can not even remove constructors of the exception?
>
> Maybe special IA.LimitedPrivate(Exception)? Which means you are free to
> catch and propagate the exception, but you should not create it by
> yourselves? Or use the special methods of the exception?
>
> Sean Busbey <bus...@apache.org> 于2020年10月18日周日 下午9:46写道:
>
> > My guess would be IA.Public is needed if the client can take action based
> > on the specific exception. So like the do not retry exception should be
> > public so folks know those IOExceptions that it's not worth baking off
> and
> > retrying.
> >
> > What's the specific list of public vs not? Why do you want the non public
> > ones to be public? What limitations are we putting on clients by keeping
> > them private?
> >
> > On Sun, Oct 18, 2020, 07:45 Yulin Niu <yulin.niu.2...@gmail.com> wrote:
> >
> > > Hi, guys:
> > >
> > > There are IA.Public and also IA.Private under the hbase-client
> > exceptions
> > > package, whether the IA.Private exceptions should be IA.Public?
> > > e.g.MasterRegistryFetchException, OutOfOrderScannerNextException
> > > ,RegionMovedException,RegionOpeningException
> > > And any others thing about the IA annotation on exceptions?
> > > FYI 2538 <https://github.com/apache/hbase/pull/2538>
> > >
> > > Thanks
> > >
> >
>

Reply via email to