+1 to starting a feature branch for this.
+1 to removing our custom implementations if the newest revs are in fact
stable now.

Regarding the profile option - if it's possible to keep 2.6.5 for a bit and
not require separate branches or code trees, this is probably OK.
Otherwise, I'm inclined to take the approach we've taken in the past with
every other upgrade and only support 1 version. I think we should prepare
users for the likelihood that if/when we cut over, there will be no more
updates to 2.6.x.

I talked through this a bit with Nick and Ryan Merriman offline. There are
a number of major version revs of components from HDP 2.6 to 3.x that are
likely to have backwards compatibility problems. HBase is a big one that
comes to mind - I noticed the HTable interface was deprecated while working
through the coprocessor implementation, and Ryan found that it was removed
completely in the new version. That affects our integration tests as well
bc we have a rather large mock implementation of HBase in use that is built
around the removed API. We will either need to migrate to the new API or
find alternative approach to integration testing with HBase.

I'll let Nick add more detail in the Epic/Jira and feature branch plan, but
here is a sampling of some of what we can expect to require some work to
upgrade:

   - Ambari - the current MPack is incompatible with Ambari 2.7.3, however
   there isn't a breaking changes document, so we'll have to work through this
   brute force or hopefully find some help from the Ambari community.
   - MaaS - YARN major change
   - PCAP - HDFS, Kafka
   - Indexing - HDFS, Solr
   - All topologies - Kafka
   - Stellar - HDFS, HBase
   - Enrichment - HBase
   - Enrichment Coprocessor (the enrichments listing) - HBase
   - Integration tests - Kafka and HBase have changed considerably.
   - UI, REST - Solr, HDFS, HBase
   - Knox
   - Kerberos (hopefully this is a kick-the-tires effort, though there is
   some possible risk if Ambari and the individual components introduce
   changes here)

Fortunately, Zookeeper appears to have stayed the same across versions. It
might be worthwhile to get a chart of the versions for each platform added
to the epic Jira for reference while performing this work.

Best,
Mike


On Mon, Apr 22, 2019, 12:50 PM Nick Allen <n...@nickallen.org> wrote:

> We currently support running Metron on an HDP 2.6.5
> <
> https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_release-notes/content/comp_versions.html
> >
> cluster.
> I'd like to get Metron updated to run in an HDP 3.1.0
> <
> https://docs.hortonworks.com/HDPDocuments/HDP3/HDP-3.1.0/release-notes/content/comp_versions.html
> >
> cluster.
> This provides a number of significant updates to the core platform
> components that we depend on like Kafka, HBase, Ambari, etc.
>
> ### Feature Branch
>
> I'd like to create a feature branch in which to do this.  This will take a
> good amount of effort and multiple PRs. To avoid any impact to master as we
> progress through this, a feature branch would make sense.
>
> If you have concerns or interest in this effort, please speak up.  Here are
> some relevant discussion points based on what I know so far.
>
> ### CentOS 7
>
> CentOS 6 RPMs are no longer distributed for HDP 3.1.0, only CentOS 7 RPMs.
> Because of this we will likely need to transition Full Dev over to CentOS
> 7.  I don't see a downside to doing this since 6 is rather old and I assume
> that most users run variants of 7 already anyways.
>
> ### HDP 2.6.5
>
> I'd like to try and make these changes backwards compatible with HDP 2.6.5
> if possible, but only as long as that does not increase our ongoing
> development burden.
>
> For example, if I can simply define a separate build profile for 3.1.0 and
> things are generally backwards compatible, then I'm all for maintaining
> support for 2.6.5.  On the other hand, I would not want to go as far as
> maintaining separate master branches for each.  In my mind the ongoing cost
> there is too high.
>
> ### HDP 2.5.6
>
> There are some workaround in the code base that were introduced to support
> HDP
> 2.5.6
> <
> https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.6/bk_release-notes/content/comp_versions.html
> >
> when
> we moved to HDP 2.6.5. There are some workarounds specifically for older
> versions of Storm like 1.0.x. Rather than maintaining this going forward,
> I'd prefer we remove this technical debt and not support anything older
> than HDP 2.6.5.
>
>
>
>
> Best,
> Nick
>

Reply via email to