-0 I finally found time to manually test downgrade from 0.10.0-RC1 to 0.9.1 and found problems with downgrade. I know it's very late in the release cycle, but I've been out of town. I found the following problems, and potential fixes for them:
1) The is_local() flag default is actually ignored by 0.9.1 and it has a CHECK to ensure that the field is set in the RaftConfigPB. That means that 74210b2546df9fd5dec7bb926eeb524362d2da90 was not a sufficient fix for backcompat. Fix: https://gerrit.cloudera.org/4059 to fix it "again". 2) Adding a field to TSRegistrationPB in KUDU-1490 triggered some error validation in TSDescriptor::Register() that the PB will not change between registration invocations. I tested reverting KUDU-1490 and this appeared to solve the problem. The revert is here: https://gerrit.cloudera.org/4060 If we want to maintain downgradability for this release then we could apply these patches and do a quick re-vote without the waiting period, perhaps? If we want to attempt for downgrade compat from 1.0.0 to 0.10.0 as well then we would need to additionally apply the below patches, or something similar: 3) Reimplement the validation in TSDescriptor::Register() so that we can add fields to TSRegistrationPB in the next release without a backcompat problem: https://gerrit.cloudera.org/4062 4) Remove CHECK preventing forward-compatibility with tablet history GC: https://gerrit.cloudera.org/4061 I believe these are all low risk changes, but if this seems like too much change for so late in the game or not worth it then we can just relnote that downgrading from 0.10.0 is not possible, and we'll probably say the same thing for 1.0.0 as well. We could alternatively pull in (4) for a quick-vote RC2 and take the no-downgradability hit on 0.10.0 only, as long as nothing else comes up for 1.0.0. Other things I checked on the release bits: * Checksums and sig match * Builds in release mode on Ubuntu 16.04 Mike PS: Manual downgrade tests are very time consuming. We should write some automated ones. On Tue, Aug 16, 2016 at 1:59 AM, Todd Lipcon <[email protected]> wrote: > Hi, > > The Apache Kudu team is happy to announce the first release candidate for > Apache Kudu 0.10.0. > > Based on the release plans previously discussed on the dev@ mailing list, > we anticipate that this will be the last minor release before reaching > 1.0.0 in September. Notably, this is also Kudu's first release as an Apache > Top-Level Project (TLP). > > The is a source-only release. The artifacts were staged here: > https://dist.apache.org/repos/dist/dev/kudu/0.10.0-RC1/ > > It was built from this tag: > https://git-wip-us.apache.org/repos/asf?p=kudu.git;a=commit; > h=2b671200388ec15e91df1123740f38b884df7abe > > The release notes can be found here (some links from this document will > only work when this version is released): > https://github.com/apache/kudu/blob/master/docs/release_note > s.adoc#rn_0.10.0 > > KEYS file: > http://www.apache.org/dist/incubator/kudu/KEYS > (NOTE: we will relocate this to /dist/kudu/KEYS upon release, but we > currently have no /dist/kudu directory since this is our first release as a > TLP) > > I'd suggest going through the README, building Kudu, and running the > unit tests. > > Please try the release and vote; the vote will end in 72 hours (on > 8/19/2016 at 1am PDT). > > Thanks, > Todd >
