I meant that Phoenix can't pick up new Tephra releases that break wire
compatibility until Phoenix has a major release.

I'd vote for the new method approach with the old method being deprecated.

When you can remove deprecated methods is always tricky. IMHO, it'd be
great for Tephra to establish semantic versioning like Phoenix & HBase so
that it's clear if/when wire compatibility may break (i.e. on major
releases) and/or deprecated methods are removed.

Different projects follow different schemes, though. From the Guava
approach of removing deprecated methods often (and the nightmare that
creates for consumers IMHO) versus the HBase approach (which works pretty
well IMHO).

Thanks,
James

On Wed, Oct 19, 2016 at 11:43 AM, Andreas Neumann <a...@apache.org> wrote:

> Hi James,
>
> I assume you are talking about a major release of Phoenix. We do have to
> anticipate that improvements and new features in Tephra will require Thrift
> changes. So what would be the process to coordinate that?
> - Does it mean that Tephra cannot make changes unless a major Phoenix
> release is expected?
> - Or does it mean Phoenix will not pick up new Tephra releases until it has
> a major release?
>
> For TEPHRA-194, we can introduce a new method - say startShortWithTimeout()
> - that throws the new exception, and change the TransactionServiceClient to
> use that new method. Old clients will call the old method
> startShortTimeout() and still work, but they won't get the improved
> exception handling.
>
> The question then is how long do we have to wait before we can remove the
> old method?
>
> Thanks -Andreas
>
>
>
> On Mon, Oct 17, 2016 at 8:44 PM, James Taylor <jamestay...@apache.org>
> wrote:
>
> > Hi Andreas,
> > Phoenix can't assume that the client and server are the same version as
> we
> > support rolling upgrades for patch and minor upgrades. It'd only be ok
> for
> > a major release.
> > Thanks,
> > James
> >
> > On Monday, October 17, 2016, Andreas Neumann <a...@apache.org> wrote:
> >
> > > Hi all,
> > >
> > > As part of https://issues.apache.org/jira/browse/TEPHRA-194, it would
> > make
> > > sense to introduce a new exception type in the thrift module. That may
> > > break wire compatibility with previous versions.
> > >
> > > I am wondering what the current policy is for changing the Thrift
> > > protocol?Can we safely assume that - for now - the server and client
> will
> > > always be the same version of Tephra?
> > >
> > > Cheers -Andreas
> > >
> >
>

Reply via email to