Thanks for your answer.

> We have the PIP, but that doesn't answer the question about the current 
> schedule and plan for Pulsar 3.2 . There have been delays in past release 
> schedules so the PIP document doesn't really provide a great answer to 
> timeline. When is it time to start discussing the 3.2 release? We have the 
> goal of releasing every 3 months. 

3.1.x first release on August 14. In my opinion, we can start 3.2.x now because 
it’s the third month. Plus, The last three weeks of this month will be the code 
freeze period.

> As mentioned before, it's possible to separately delivery Java 21 support:
> - support Java 21 for running Pulsar (possibly already "works" without any 
> changes in Pulsar, supporting this option is more effort)
> - support Java 21 for developing/compiling, running tests of Pulsar
> - switch from Java 17 language level to Java 21 in Pulsar server side 
> components

+1 for your steps.



Best,
Mattison

> On 18 Oct 2023, at 19:16, Lari Hotari <lhot...@apache.org> wrote:
> 
> 
> Hi,
> 
>> 1. What are the significant benefits of upgrading?
> 
> There are 2 parts to how Java 21 could be supported. One level is that we 
> simply add support for developing and running Pulsar on Java 21 runtime 
> without switching the language level of the Pulsar components. This is how 
> Java 11 was used in Pulsar in the past while all code in the Pulsar code base 
> was kept at Java 8 language level.
> 
> One clear benefit of upgrading is staying current and keeping Pulsar relevant 
> for the future and the years to come.
> 
> The performance improvements of the Java runtime between 17 and 21 don't seem 
> to be significant in most cases. We won't know exactly what the improvement 
> is for Pulsar until we run benchmarks and do a comparison. I'd expect it to 
> be in the range of 1-5%.
> 
> The benefits of the language changes in Java 21 (since Java 17) is a 
> different discussion and I won't go into that in this email.
> 
>> 2. We should define some rules for using the new feature by JDK21 before 
>> upgrading.  Especially for the virtual thread. We can't make thread 
>> management worse.
> 
> Sure, that's a valid question to discuss if we were to switch the language 
> level from Java 17 to Java 21. We had similar discussions about the tradeoffs 
> when we switched the language level from Java 8 to Java 17 in Pulsar server 
> side components.
> 
>>> Could anyone update me on the current schedule for Pulsar 3.2?
>> 
>> The community has already followed the LTS release process. You can check 
>> the PIP[0] to get more information.  
> 
> We have the PIP, but that doesn't answer the question about the current 
> schedule and plan for Pulsar 3.2 . There have been delays in past release 
> schedules so the PIP document doesn't really provide a great answer to 
> timeline. When is it time to start discussing the 3.2 release? We have the 
> goal of releasing every 3 months. 
> 
> I don't think that it makes sense to do a Java 21 upgrade until we are 
> preparing the next Pulsar LTS release. It's better to do it earlier if we'd 
> like to target Java 21 support for the next Pulsar LTS release since that's a 
> way to make sure that it's really hardened for the LTS release.
> 
> As mentioned before, it's possible to separately delivery Java 21 support:
> - support Java 21 for running Pulsar (possibly already "works" without any 
> changes in Pulsar, supporting this option is more effort)
> - support Java 21 for developing/compiling, running tests of Pulsar
> - switch from Java 17 language level to Java 21 in Pulsar server side 
> components
> 
> I hope we could continue the discussion and come up with some consensus about 
> the coarse timelines. The time horizon could be in multiple years if that's 
> what makes sense.
> Oracle's Java 17 LTS premier support ends in Sep 2026, so I assume that we 
> would make the decision before that. :) 
> 
> -Lari
> 
> 
> On 2023/10/18 02:30:26 mattison chao wrote:
>> Hi, Lari
>> 
>>> Do you think we can target the switch from Java 17 to Java 21 for the 
>>> Pulsar 3.2 release?
>> 
>> I think we should consider some things:
>> 
>> 1. What are the significant benefits of upgrading?
>> 2. We should define some rules for using the new feature by JDK21 before 
>> upgrading.  Especially for the virtual thread. We can't make thread 
>> management worse.
>> 
>>> Could anyone update me on the current schedule for Pulsar 3.2?
>> 
>> The community has already followed the LTS release process. You can check 
>> the PIP[0] to get more information.  
>> 
>> 
>> 
>> [0] - https://lists.apache.org/thread/rg1g083c06ozm5go6zo1jophg9y9zl2f
>> 
>> Best,
>> Mattison
>> 
>>> On 18 Oct 2023, at 06:02, Lari Hotari <lhot...@apache.org> wrote:
>>> 
>>> Dear Pulsar community,
>>> 
>>> Java 21 was released on September 19th and has now become the current Java 
>>> LTS release.
>>> 
>>> I've begun preparations in the Pulsar code base to allow for Java 21 to be 
>>> used as the development runtime for compiling the code and running tests in 
>>> the master branch. This is a proactive measure to gear up for Java 21 
>>> without committing to the switch just yet. It will help us understand the 
>>> necessary changes when we are able to compile the code and run all tests 
>>> with Java 21.
>>> 
>>> For instance, I initiated the process with the following PRs:
>>> - Upgrade Mockito to 5.6.0 to support Java 21 [1]
>>> - Upgrade Gradle Enterprise Maven Extension to support Java 21 [2]
>>> After these are merged, it should be possible to start running tests with 
>>> Java 21 to see what is possibly broken and continue iterating.
>>> Moreover, the upgrade to Lombok 1.18.30 for Java 21 support has already 
>>> been merged [3].
>>> 
>>> Java 17 has been the recommended runtime for Pulsar server components since 
>>> the Pulsar 2.11 release [4]. Meanwhile, the Pulsar client continues to be 
>>> supported on Java 8+.
>>> 
>>> I would like to initiate discussions about making Java 21 the recommended 
>>> and default runtime for Pulsar server components. Note that there will be 
>>> no change to the Pulsar client, which will remain on Java 8+.
>>> 
>>> I guess we could come up with a PIP to document the decision once we have 
>>> had this discussion.
>>> 
>>> Do you think we can target the switch from Java 17 to Java 21 for the 
>>> Pulsar 3.2 release?
>>> Could anyone update me on the current schedule for Pulsar 3.2?
>>> 
>>> -Lari
>>> 
>>> [1] - https://github.com/apache/pulsar/pull/21385
>>> [2] - https://github.com/apache/pulsar/pull/21384
>>> [3] - https://github.com/apache/pulsar/pull/21278
>>> [4] - 
>>> https://github.com/apache/pulsar#pulsar-runtime-java-version-recommendation
>> 
>> 

Reply via email to