Jeff, 

I think it would also be valuable to the community if you could document your 
tooling/setup for verifying the Java 11 build and performance, as this may be 
new to some community members. This doesn’t have to be an endorsement of 
specific products, but I know things like jEnv [1] can help with running 
multiple JVM/JREs at the same time. I am curious to see how you configured your 
IDE of choice and command-line to work with both versions. Thanks. 


[1] http://www.jenv.be/ <http://www.jenv.be/>

Andy LoPresto
[email protected]
[email protected]
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Apr 4, 2019, at 10:12 AM, Kevin Doran <[email protected]> wrote:
> 
> Jeff,
> 
> Thanks for all your work on this and for explaining the path forward.
> I also support this proposal.
> 
> I suggest we take the same basic approach for NiFi Registry. That is:
> 
> - For the current NiFi Registry 0.x line, we maintain Java 8 and 11
> build compatibility
> - We perform Java 8 builds (that can run on 8 and 11) for our
> convenience binaries
> - We plan to bump the major version at some point in the future in
> step with NiFi which will move us to requiring Java 11 for Registry as
> well
> 
> I've looked at your PRs, and I think getting NiFi Registry to the
> point that it can run on Java 11 will be much easier than NiFi was
> given it is a much smaller and simpler project, and it will mostly
> require a subset of the changes you made for NiFi (Groovy, JaxB
> dependencies for example).
> 
> Thanks,
> Kevin
> 
> On Thu, Apr 4, 2019 at 12:54 PM Matt Gilman <[email protected]> wrote:
>> 
>> Jeff,
>> 
>> I think this is a great approach that should help us transition to and in
>> the long run, adopt Java 11. The staggered approach should allow us to
>> address concerns and any issues we may encounter as we go over time.
>> 
>> Thanks for putting these together!
>> 
>> Matt
>> 
>> On Thu, Apr 4, 2019 at 2:19 AM Jeff <[email protected]> wrote:
>> 
>>> I created a JIRA [1] to track the developer documentation changes.  Andy,
>>> thanks for pointing out the specific links; I've added them to the JIRA.
>>> 
>>> [1] https://issues.apache.org/jira/browse/NIFI-6187
>>> 
>>> On Wed, Apr 3, 2019 at 11:23 PM Sivaprasanna <[email protected]>
>>> wrote:
>>> 
>>>> Yep. Adding to GitHub template is a great idea.
>>>> 
>>>> On Thu, 4 Apr 2019 at 5:27 AM, Andy LoPresto <[email protected]>
>>> wrote:
>>>> 
>>>>> We should add that to the Developer Guide [1], Contributor Guide [2],
>>>> note
>>>>> it in the Migration Guide [3] when it takes effect, and include it in
>>> the
>>>>> GitHub PR template as well.
>>>>> 
>>>>> [1] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html <
>>>>> https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html>
>>>>> [2] https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide
>>> <
>>>>> https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide>
>>>>> [3]
>>> https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance
>>>> <
>>>>> https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance>
>>>>> 
>>>>> 
>>>>> Andy LoPresto
>>>>> [email protected]
>>>>> [email protected]
>>>>> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>>>>> 
>>>>>> On Apr 3, 2019, at 1:16 PM, Sivaprasanna <[email protected]>
>>>>> wrote:
>>>>>> 
>>>>>> Sounds good to me.
>>>>>> 
>>>>>> So contributors who bring in new changes are expected to write the
>>> code
>>>>>> that should be compatible with both Java 8 as well as Java 11, right?
>>>>>> 
>>>>>> Do we see anything that we should have in our site that would help
>>> the
>>>>>> contributors/users with this change? Something like a document that
>>>>>> explains best practices which a developer should follow so that the
>>>>> change
>>>>>> which the developer is bringing in should run fine in both 8 and 11.
>>>>>> 
>>>>>> -
>>>>>> Sivaprasanna
>>>>>> 
>>>>>> On Thu, 4 Apr 2019 at 12:18 AM, Pierre Villard <
>>>>> [email protected]>
>>>>>> wrote:
>>>>>> 
>>>>>>> Sounds good to me as well. Given the latest news on Java 8, having
>>>> the 2
>>>>>>> PRs merged in would be great!
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Pierre
>>>>>>> 
>>>>>>> Le mer. 3 avr. 2019 à 20:34, Joe Witt <[email protected]> a écrit
>>> :
>>>>>>> 
>>>>>>>> Jeff
>>>>>>>> 
>>>>>>>> This seems very reasonable and thorough to me.
>>>>>>>> 
>>>>>>>> The only short term implication that we'd have to buy into then is
>>>> that
>>>>>>> PRs
>>>>>>>> going forward need to be able to build on both Java 8 and 11 which
>>>>> seems
>>>>>>> a
>>>>>>>> very fair way to bridge toward moving to Java 11 as the base
>>>>> requirement
>>>>>>> in
>>>>>>>> the next major release of NiFi (2.x).
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> Joe
>>>>>>>> 
>>>>>>>> On Wed, Apr 3, 2019 at 2:19 PM Jeff <[email protected]> wrote:
>>>>>>>> 
>>>>>>>>> I'm reaching out to the community today to propose a plan for
>>> moving
>>>>>>>>> forward with NiFi on Java 11.
>>>>>>>>> 
>>>>>>>>> There are currently two PRs that deal with Java 11 compatibility.
>>>> The
>>>>>>>>> first PR allows NiFi built on Java 8 to be run on Java 11 [1].
>>> The
>>>>>>>> second
>>>>>>>>> PR allows NiFi to be built on Java 11 and run on Java 11 [2].
>>> There
>>>>>>> are
>>>>>>>> a
>>>>>>>>> lot of changes in the second PR, and it will require a lot of
>>>> testing
>>>>>>> due
>>>>>>>>> to the breadth of changes from dependency upgrades.  Please take a
>>>>> look
>>>>>>>> at
>>>>>>>>> both of these PRs.  The earlier we can get feedback, the sooner we
>>>> can
>>>>>>>> get
>>>>>>>>> Java 11 compatibility in an Apache NiFi release.
>>>>>>>>> 
>>>>>>>>> I would to discuss with the community the following plan for
>>>> upcoming
>>>>>>>> NiFi
>>>>>>>>> releases as they pertain to Java 11:
>>>>>>>>> 
>>>>>>>>> For the 1.x release line, from either 1.10 or 1.11 (depending on
>>>> when
>>>>>>>> these
>>>>>>>>> two PRs are merged to master) and onward, NiFi will be compatible
>>>> with
>>>>>>>> both
>>>>>>>>> Java 8 and 11 for building and running NiFi:
>>>>>>>>> 
>>>>>>>>>  - Build on Java 8, run on Java 8
>>>>>>>>>  - Build on Java 8, run on Java 11
>>>>>>>>>  - Build on Java 11, run on Java 11
>>>>>>>>> 
>>>>>>>>> The 1.x release line will contain convenience builds for Java 8,
>>> and
>>>>>>> will
>>>>>>>>> NOT contain convenience builds created from Java 11.  Users that
>>>> want
>>>>>>> to
>>>>>>>>> run NiFi 1.1x.y on Java 11 with Java 11 bytecode will have to
>>> build
>>>>>>> from
>>>>>>>>> the released source code.
>>>>>>>>> 
>>>>>>>>> Once the Java 11 compatibility features [1] [2] are merged to
>>>> master,
>>>>>>> PR
>>>>>>>>> reviews will require building and testing with Java 8 and Java 11
>>>>>>> before
>>>>>>>>> the PR is merged to master. We will add a new build to our Travis
>>> CI
>>>>>>>>> instance to cover building on Java 11, which should help with the
>>> PR
>>>>>>>>> process, since build status from Appveyor and Travis are shown on
>>>> the
>>>>>>> PR.
>>>>>>>>> This will allow an easier transition to the NiFi 2.x release line.
>>>>>>>>> 
>>>>>>>>> For the 2.x release line, the minimum Java version would be Java
>>> 11,
>>>>> at
>>>>>>>>> which point developers would be able to start using Java 11
>>> language
>>>>>>>>> features.  Java 12 is not designated to be an LTS release, with
>>> its
>>>>>>>> support
>>>>>>>>> ending in September 2019.  I would not recommend making our
>>> minimum
>>>>>>> Java
>>>>>>>>> version a non-LTS Java release unless we are prepared to do NiFi
>>>>>>> releases
>>>>>>>>> to update the minimum Java version before the support for that
>>>> version
>>>>>>> of
>>>>>>>>> Java ends.
>>>>>>>>> 
>>>>>>>>> Taking this approach means we can reasonably allow users to run on
>>>>> Java
>>>>>>>> 11
>>>>>>>>> in the 1.x release line, ensure that we do not add commits which
>>> are
>>>>>>> not
>>>>>>>>> Java 11 compatible, and make it easier to transition into the 2.x
>>>> line
>>>>>>>> for
>>>>>>>>> NiFi.
>>>>>>>>> 
>>>>>>>>> - Jeff
>>>>>>>>> 
>>>>>>>>> [1] https://github.com/apache/nifi/pull/3174
>>>>>>>>> [2] https://github.com/apache/nifi/pull/3404
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 

Reply via email to