Shared 'big-bang' topic branch
by Brian Stansberry
For a while now we've been talking about doing a conversion of standard
WildFly to the jakarta.* namespace and to EE 10. We've often used the term
'big bang' for this change, although the reality is the work needs to be
done in discrete steps.
Talking with various folks working on different aspects of WF 27, it looks
like the week of July 18-22 is a good time to do the big bang. But we don't
want to delay work on the needed discrete steps, so I've created a new
'big-bang' topic branch[1] where we can coordinate work on the various
steps needed for the big change. The actual big bang will then be us
merging that topic branch into main.
How the branch will be managed:
1) No force pushes.
2) We'll periodically merge main into it so it's up to date with other work.
3) Branch will be deleted once it's merged.
4) We'll get CI set up for it (pull requests, nightly jobs).
These are the kinds of things to do in the 'big-bang' branch:
1) Changes of the actual source code to jakarta.*.
2) Temporary changes to testsuite modules to get them to test WildFly
Preview by default instead of testing standard WildFly.
2) Feature pack stuff to get the standard WildFly feature packs to use
jakarta.* dependencies.
Other work, including work related to EE 10 support in WF Preview, should
be done in main.
The basic steps toward the 'big bang' are:
1) In main we remove the need to bytecode transform any artifacts when
building a feature pack.
2) In parallel with 1) in the 'big-bang' branch we migrate the testsuite
modules' source code to jakarta.* namespace and dependencies. Migrated
testsuites temporarily test against WFP instead of standard WF. (I hope to
send up a PR doing this for testsuite/integration/basic soon.)
3) Once 1) and 2) are done, we switch the standard WF feature packs to use
jakarta.* dependencies.
4) The testsuites we migrated in step 2) are switched back to testing by
default against standard WF.
Once that's done and passing testing, we can merge. We'll tag main before
we merge, as a kind of memento of life before the big bang.
Changing the various product code maven module source code from javax.* to
jakarta.* is NOT in scope for the big bang. It's not required, as the
source-transform artifacts we already have are sufficient for our immediate
requirements. We're going to be very busy this next month so processing a
lot of source code pakage rename commits is not a priority. If some module
really needs to change to jakarta.* we can sort out how to handle that.
The testsuite is different; we are changing that source because using
source-transform for the testsuites is feasible but overly resource
intensive.
[1] https://github.com/wildfly/wildfly/tree/big-bang
Best regards,
--
Brian Stansberry
Project Lead, WildFly
2 years, 6 months
Operator SDK upgrade for the WildFly Operator
by Jean-Frederic Mesnil
Hi,
The WildFly Operator is using an Operator SDK version that is now quite old (v0.18.2) and we want to move to the latest version (v1.3.2) to continue developing the WildFly Operator.
Yeray is actively working on it and will be soon ready to make the upgrade[1].
This upgrade will not affect the API of the WildFly Operator or its user experience but will change a lot of the boilerplate code.
We plan to create a 0.5.x branch from the latest release of the WildFly Operator 0.5.4 to be able to provide bug fixes until we release the next major release.
After this upgrade, the main branch will move towards a 1.0.0 release.
Best regards,
Jeff
[1] https://github.com/wildfly/wildfly-operator/pull/219
--
Jeff Mesnil
Principal Software Engineer
Red Hat
http://jmesnil.net/
2 years, 6 months
JDK 19: Rampdown Phase 1 + EA builds 26 & JDK 20: EA builds 1
by David Delabassee
Greetings!
JDK 19 has now entered Rampdown Phase One (RDP1) [1], which means that
the main-line has been forked into a dedicated JDK 19 stabilization
repository. At this point, the overall JDK 19 feature set is frozen and
no additional JEPs will be targeted to JDK 19. The stabilization
repository is open for select bug fixes and, with approval, late
low-risk enhancements per the JDK Release Process [2]. Any change pushed
to the main line is now bound for JDK 20, unless it is explicitly
back-ported to JDK 19.
The next few weeks should be leveraged to try to identify and resolve as
many issues as possible, i.e. before JDK 19 enters the Release
Candidates phase. Moreover, we encourage you to test your project with
the `enable-preview` flag as described in this Quality Outreach Heads-up
[3], and even if you don't intend to use Virtual Threads in the near future.
[1] https://mail.openjdk.java.net/pipermail/jdk-dev/2022-June/006735.html
[2] https://openjdk.java.net/jeps/3
[3] https://inside.java/2022/05/16/quality-heads-up/
## Heads-up - openjdk.java.net ➜ openjdk.org DNS transition
The OpenJDK infrastructure is moving from the old openjdk.java.net
subdomain to the openjdk.org top-level domain. This will affect all
active subdomains (i.e., bugs, cr, db, git, hg, mail, and wiki) and the
old hostnames (*.openjdk.java.net) will now act as aliases for the new
names. No actions are required as this transition should be transparent
and is mostly done. It should be mentioned that https://jdk.java.net/ is
not changing.
More information can be found in the original proposal
https://mail.openjdk.java.net/pipermail/discuss/2022-May/006089.html
## JDK 19 Early-Access builds
JDK 19 Early-Access builds 26 are now available [4], and are provided
under the GNU General Public License v2, with the Classpath Exception.
The Release Notes are available here [5]. Given that JDK 19 is now in
RDP1, the initial JDK 20 Early-Access builds are now also available [6].
[4] https://jdk.java.net/19/
[5] https://jdk.java.net/19/release-notes
[6] https://jdk.java.net/20/
### JEPs integrated to JDK 19:
- JEP 405: Record Patterns (Preview)
- JEP 422: Linux/RISC-V Port
- JEP 424: Foreign Function & Memory API (Preview)
- JEP 425: Virtual Threads (Preview)
- JEP 426: Vector API (Fourth Incubator)
- JEP 427: Pattern Matching for switch (Third Preview)
- JEP 428: Structured Concurrency (Incubator)
### Recent changes that may be of interest:
Build 26:
- JDK-8284199: Implementation of Structured Concurrency (Incubator)
- JDK-8282662: Use List.of() factory method to reduce memory consumption
- JDK-8284780: Need methods to create pre-sized HashSet and LinkedHashSet
- JDK-8250950: Allow per-user and system wide configuration of a
jpackaged app
- JDK-8236569: -Xss not multiple of 4K does not work for the main thread
on macOS
- JDK-4511638: Double.toString(double) sometimes produces incorrect results
- JDK-8287714: Improve handling of JAVA_ARGS
- JDK-8286850: [macos] Add support for signing user provided app image
- JDK-8287425: Remove unnecessary register push for MacroAssembler::check_k…
- JDK-8283694: Improve bit manipulation and boolean to integer conversion o…
- JDK-8287522: StringConcatFactory: Add in prependers and mixers in batches
Build 25:
- JDK-8284960: Integration of JEP 426: Vector API (Fourth Incubator)
- JDK-8287244: Add bound check in indexed memory access var handle
- JDK-8287292: Improve TransformKey to pack more kinds of transforms effici…
- JDK-8287003: InputStreamReader::read() can return zero despite writing a …
- JDK-8287064: Modernize ProxyGenerator.PrimitiveTypeInfo
Build 24:
- JDK-8286908: ECDSA signature should not return parameters
- JDK-8261768: SelfDestructTimer should accept seconds
- JDK-8286304: Removal of diagnostic flag GCParallelVerificationEnabled
- JDK-8267038: Update IANA Language Subtag Registry to Version 2022-03-02
- JDK-8285517: System.getenv() returns unexpected value if environment vari…
- JDK-8285513: JFR: Add more static support for event classes
- JDK-8287024: G1: Improve the API boundary between HeapRegionRemSet and G1…
- JDK-8287139: aarch64 intrinsic for unsignedMultiplyHigh
Build 23:
- JDK-8282191: Implementation of Foreign Function & Memory API (Preview)
- JDK-8286090: Add RC2/RC4 to jdk.security.legacyAlgorithms
- JDK-8282080: Lambda deserialization fails for Object method references
on interfaces
- JDK-6782021: It is not possible to read local computer certificates
with the SunMSCAPI provider
- JDK-8282191: Implementation of Foreign Function & Memory API (Preview)
- JDK-8284194: Allow empty subject fields in keytool
- JDK-8209137: Add ability to bind to specific local address to HTTP client
- JDK-8286841: Add BigDecimal.TWO
- JDK-8287139: aarch64 intrinsic for unsignedMultiplyHigh
- JDK-8282160: JShell circularly-required classes cannot be defined
- JDK-8282280: Update Xerces to Version 2.12.2
## Topics of Interest
* Replacing Finalizers with Cleaners
https://inside.java/2022/05/25/clean-cleaner/
* Testing Clean Cleaner Cleanup
https://inside.java/2022/05/27/testing-clean-cleaner-cleanup/
* Improved JFR Ergonomics
https://egahlin.github.io/2022/05/31/improved-ergonomics.html
* Java 19 Virtual Threads - JEP Café
https://inside.java/2022/06/08/jepcafe11/
* Deconstructing Records in Pattern Matching - Inside Java Newscast
https://inside.java/2022/06/02/insidejava-newscast-026/
* Concurrent Thread-stack Processing in the Z Garbage Collector
https://inside.java/2022/05/31/zgc-concurrent-thread-stack-processing/
As usual, let us know if you find any issues while testing your
project(s) on the latest JDK early-access builds. Thanks for your support!
--David
2 years, 6 months