Skip to content

Alibaba Dragonwell8 Extended Edition Release Notes

lvfei.lv edited this page Mar 25, 2024 · 7 revisions

Alibaba Dragonwell 8.18.19-GA

openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.18.19) (build 1.8.0_402-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.18.19) (build 25.402-b01, mixed mode)

Commit logs

summary cr
[Misc] Update version Issue#301
[EagerAppCDS] fix testcases due to upstream updates Issue#618
[EagerAppCDS] Enhancement for support apps with fixed jmxremote port Issue#613

Alibaba Dragonwell 8.17.18-GA

openjdk version "1.8.0_392"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.17.18) (build 1.8.0_392-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.17.18) (build 25.392-b01, mixed mode)

Feature

EagerAppCDS

  • remove the usage of lambda in ClassLoader.java
  • fix windows build failure
  • fix the bug in cld's definePackage
  • EagerAppCDS adds path replacement function: Users need to set -Dcom.alibaba.cds.cp.reloc.envs to represent the environment variables that need to be replaced. This variable replacement will affect the classpath path recorded in the trace phase of CDS, e.g. -Trace: The user has set -Dcom.alibaba.cds.cp.eloc.envs=ABC,DEF; export ABC="ABC"; export DEF="DEF", during the first run, cds recorded the classpath as ABC/xxx. jar;DEF/yyy.jar -Replay: When the user runs the program again using CDS, export ABC="abc" and export DEF="def", CDS will automatically search for abc/xxx.jar and def/yyy.jar during verification

Wisp

  • disable a jtreg test in release mode and fastdebug mode

JIT

  • Fixed the bug that C2 occasionally clears the RootNode.

Commit logs

summary cr
[Misc] Update version Issue#301
[EagerAppCDS] fix bug caused by using lambda in ClassLoader.java Issue#603
[Wisp] only test c1 assertion failure in slowdebug mode Issue#605
[EagerAppCDS] fix build failure on windows Issue#601
[EagerAppCDS] fix bug: definePackage should check cld's parent Issue#598
[EagerAppCDS] enable classpath change by replacing given env var Issue#595
[JIT] avoid clear root in MemNode::can_see_stored_value() CR#594

Alibaba Dragonwell 8.16.17-GA

openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.16.17) (build 1.8.0_382-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.16.17) (build 25.382-b01, mixed mode)

Feature

GC

  • Default GC was changed from CMS to PS

Misc

  • Default ReservedCodeCacheSize was enlarged from 128m to 240m,the same to other architectures。

EagerAppCDS

  • Port CDS and Alibaba Quickstart Framework to Dragonwell8.
  • Fix bugs related to dragonwell8 build on windows.
  • Add a flag to ignore the check of boot classpath in CDS flow.
  • Fix a bug related to creating boot classpath entries which is caused by incorrectly filtering the zip files.

Commit logs

summary cr
[Misc] Update version Issue#301
[EagerAppCDS] fix bugs related to EagerAppCDS Issue#571
[Misc] fix test TestDefaultCodeCacheSize failure Issue#579
[Misc] fix test TestNoMinidumpAtFullGC.java failure (#578) Issue#577
[Misc] fix testPrintYoungGenHisto.sh intermittently fail Issue#569
[Misc] Enlarge default ReservedCodeCacheSize in aarch64 from 128m to … (#568) Issue#567
[Misc] change default gc in aarch64 from CMS to PS Issue#561
[EagerAppCDS] 1. fix strlen usage 2. change the impl of bootclasspath check in cds #Issue559
[EagerAppCDS] fix bug 1.jstat stdout extra info 2.filter zip for bootcp #Issue557
[EagerAppCDS] Add EagerAppCDS Support for JDK8 #Issue552
[Misc] Add aarch64 build/test in acitons Issue#548

Alibaba Dragonwell 8.15.16-GA

openjdk version "1.8.0_372"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.15.16) (build 1.8.0_372-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.15.16) (build 25.372-b01, mixed mode)

Feature

Runtime

  1. Wisp: Supports different coroutines waiting on the same socket's read and write events. Solve a wisp bug triggered by okhttp.

Commit logs

summary cr
[Misc] Update version Issue#301
[Wisp] Separate IO poller Issue#311
[Misc] Update dragonwell links to new org Issue#527

Alibaba Dragonwell 8.14.15-GA

openjdk version "1.8.0_362"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.14.15) (build 1.8.0_362-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.14.15) (build 25.362-b01, mixed mode)

features

Runtime

  1. Add Alibaba Dragonwell vendor specific JDK_TOOLS_OPTIONS: DRAGONWELL_JAVA_TOOL_OPTIONS and DRAGONWELL_JAVA_TOOL_OPTIONS_JDK_ONLY. If set "DRAGONWELL_JAVA_TOOL_OPTIONS_JDK_ONLY" to true, the "DRAGONWELL_JAVA_TOOL_OPTIONS" has no effect on JDK tools like jps,jmap,jstat.
  2. Wisp: Aligning Socket.isConnected() behavior with the normal OpenJDK's ServerSocket.accept().

JIT

  1. Add a new VM option 'MemNodeLoopContinueThres' to workaround the dead loop problem existing in c2. The default value is 200.

aarch64

  1. Some crash due to weak memory model fixed.

Commit logs

summary cr
[Misc] Update version Issue#301
[Misc] Adding barriers on JVM Issue#457
[JIT] Fix a deadloop in c2 compiler Issue#455
[Misc] Add vendor specific java tool options: DRAGONWELL_JAVA_TOOL_OPTIONS Issue#330
[Wisp] Keep aligning Socket.isConnected() with the normal OpenJDK returning result for ServerSocket.accept() Issue#437

Alibaba Dragonwell 8.13.14-GA

openjdk version "1.8.0_352"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.13.14) (build 1.8.0_352-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.13.14) (build 25.352-b01, mixed mode)

Commit logs

summary cr
[Wisp] Keep aligning Socket.isConnected() with the normal OpenJDK returning result Issue#437
[Misc] fix TestPolicy.java and BuildEEBasicConstraints.java fail because of certificates expired Issue#433
[Misc] fix SplittableRandomTest.java intermittently timeout Issue#428
[Misc] Update version Issue#301
[Misc] fix TestParGCAllocatorLeak.sh run fail on ubuntu Issue#408
[Misc] disable wisp testcase YieldFewNanosTest.java temporarily Issue#378

Alibaba Dragonwell 8.12.13-GA

openjdk version "1.8.0_345"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.12.13) (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.12.13) (build 25.345-b01, mixed mode)

Release Notes

Summary Issue
[Misc] Update DRAGONWELL_VERSION to 8.12.13 Issue #301
[Misc] disable wisp testcase PreemptTest.java by problemlist temporarily Issue #388
[Misc] fix jwarmup/issue9780156.sh run fail on ubuntu Issue #383
[Misc] disable wisp testcase CarrierAsPollerTest.java ExecutionTest.java IoTest.java GlobalPollerTest.java Wisp2TimerRemoveTest.java temporarily by problemlist Issue #371
[Misc] disable wisp testcase YieldFewNanosTest.java temporarily Issue #378
[Misc] fix multi-tenant testcase TestHierachicalTenants.java and TestJGroup.java Issue #361
[Misc] fix testcase bug LookUpAllAddrsTest.sh Issue #375
[Misc] fix testcase bug Test8233197.sh Issue #373
[Misc] fix testcase bug TestClassLoaderLeak.java Issue #369
[Misc] fix testcase bug TestG1OldAllocationPendingStackTrace.java Issue #367
[Misc] fix testcase bug RcmCpuTest.java Issue #364
[Misc] disable wisp testcase Wisp2TimerRemoveTest.java temporarily Issue #360
[Misc] disable wisp testcase Wisp2TimerRemoveTest.java temporarily Issue #360
[Misc] fix testcase TestWispDetailCounter.java Issue #358
[Misc] Modify DISTRO_NAME Issue #351
[Misc] Fix windows build error Issue #330
[Misc] fix test VersionCheck.java Issue #343
[Misc] fix test TestPropertyContainerImpls.java fail Issue #337
[Misc] Dragonwell environment variables Issue #330
dragonwell_patches : 19
upstream_patches : 50
malformed_patches : 3
internal_patches : 0

Alibaba Dragonwell 8.11.12-GA

openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.11.12) (build 1.8.0_332-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.11.12) (build 25.332-b01, mixed mode)

Features

GC

  • Fixed a C-heap memory leak issue related to OWSTTaskTerminator

Release Notes

Summary Issue
[Misc] Update dragonwell8 version Issue #323
[GC] Memory leak because OWSTTaskTerminator destructor not called Issue #319
[Misc] Polish Dragonwell action for monorepo Issue #301
dragonwell_patches : 3
upstream_patches : 10
malformed_patches : 0
internal_patches : 0

Alibaba Dragonwell 8.10.11-GA

openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.10.11) (build 1.8.0_322-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.10.11) (build 25.322-b01, mixed mode)

Release Notes

Summary Issue
[Wisp] Fix PassTokenTest Issue #290
[GC] Fix unstable elastic-heap tests Issue #288
[Misc] Fix unstable rcm tests Issue #280
[Wisp] fix LoadClassInnerWispGuard and WispControlGroupCpuTest Issue #279
[JFR] A wrong parameter is passed to the constructor of LeakKlassWriter Issue #296
[JFR] Revert "[Backport] 8226511: Implement JFR Event Streaming" Issue #293
[JFR] Revert "[Backport] 8233700: EventStream not closed" Issue #293
[JFR] Revert "[Backport] 8234684: JFR crashes when rotating the JFR output during assertion failure" Issue #293
[JFR] Revert "[Backport] 8233111: Epoch shift synchronization point for Compiler threads" Issue #293
[JFR] Revert "[Backport] 8234059: Stress test fails with "Unexpected Exception in thread JFR Event Stream"" Issue #293
[JFR] Revert "[Backport] 8236263: Remove experimental streaming events" Issue #293
[JFR] Revert "[JFR] Fixed missing Threads_lock protection when traversing thread list" Issue #293
[JFR] Revert "[JFR] Crash in Monitor::set_owner_implementation on slow debug build" Issue #293
[JIT] trigger code cache sweep periodly Issue #285
[JIT] backport: flush OSR nmethods in code cache Issue #284
dragonwell_patches : 26
upstream_patches : 72
malformed_patches : 0
internal_patches : 0

Alibaba Dragonwell 8.9.10-GA

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.9.10) (build 1.8.0_312-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.9.10) (build 25.312-b01, mixed mode)

Release Notes

Summary Issue
[JFR] Fix object profiling stacktrace problem on aarch64 platform Issue #189
[Wisp] fix wisp block on Thread.exit() infinitely Issue #278
[Misc] Use anonymous classes to get RCM config Issue #276
[JFR] Deprecate public JFR Streaming API Issue #275
[Misc] Fix unstable VersionCheck test Issue #273
[Misc] System property isolation for RCM Issue #274
[Wisp] Exited coroutine should not be re-wakeuped Issue #262
[Misc] fix unstable coroutine tests Issue #273
dragonwell_patches : 9
upstream_patches : 138
malformed_patches : 1
internal_patches : 1

Alibaba Dragonwell 8.8.9-GA

openjdk version "1.8.0_302"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.8.9) (build 1.8.0_302-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.8.9) (build 25.302-b01, mixed mode)

Bug fix

  • [Wisp] #262 Fix scheduler's dead loop burning too much CPU

Alibaba Dragonwell 8.8.8-GA

openjdk version "1.8.0_302"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.8.8) (build 1.8.0_302-b1)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.8.8) (build 25.302-b1, mixed mode)

Features

  • [Wisp] #256 Thread as Wisp whitelist

This feature could specify which thread to be converted to a coroutine

  • [RDMA] #246 support RDMA network using rsocket library

Support RdmaPollSelectorProvider as an optional NIO provider

  • [RCM] #237 Get active thread ids from root container

[Wisp] #213 Wisp async file IO support

Bug fix

  • [Wisp] #236 fix possible lost unpark

Base JDK

  • OpenJDK8u302-ga

Alibaba Dragonwell 8.7.7-GA

openjdk version "1.8.0_292"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.7.7) (build 1.8.0_292-b1)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.7.7) (build 25.292-b1, mixed mode)

Features

  • #228 Include AARCH64 support in 8u292,revert AARCH64 changes in previous versions of Dragonwell8.
  • In this version temporarily Wisp does not support the AARCH64 platform.

Bug fix

Base JDK

  • OpenJDK8u292-ga

Alibaba Dragonwell 8.6.6-GA

openjdk version "1.8.0_282"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.6.6) (build 1.8.0_282-b1)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.6.6) (build 25.282-b1, mixed mode)

Features

  • [Wisp] Revert ThreadMXBean support (we cannot get coroutine information from threadmxbean now)
  • [Wisp] #204 Stronger preempt
  • [RCM] #206 RCM MXbean support

Bug fix

  • [Wisp] #218 Fix Critical bug in coroutine stack dump which may lead to VM hang
  • [Wisp] Fix critical C1 Crash

Base JDK

  • OpenJDK8u282-ga

Alibaba Dragonwell 8.6.5-GA

openjdk version "1.8.0_282"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.6.5) (build 1.8.0_282-b1)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.6.5) (build 25.282-b1, mixed mode)

Features

Base JDK

  • Upgraded to OpenJDK8u282-ga

Alibaba Dragonwell 8.5.5-FP1

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.5.5) (build 1.8.0_275-b2)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.5.5) (build 25.275-b2, mixed mode)

Bug fixes

  • Issue 157 Proper unsupported notification in arm

Alibaba Dragonwell 8.5.5-GA

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.5.5) (build 1.8.0_275-b1)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.5.5) (build 25.275-b1, mixed mode)

Features

Base JDK

  • Upgraded to OpenJDK8u275-ga

AArch64 support

  • AArch64 support
  • Supported features:
    • JWarmup
    • Elastic-Heap
  • Not yet supported features:
    • Wisp2
    • MultiTenant

GC optimizations

  • Issue 154 Backport JDK-8204524: Optimize memory barrier instructions in object copy in G1 and parNew (AArch64)
  • Issue 148 Backport JDK-8204947: Optimize work stealing of GC threads
  • Issue 146 Backport JDK-8205921: Optimize work stealing of GC threads
  • Issue 155 Backport 8164948: Add memory barrier instruction in G1 (AArch64)

Wisp

  • Issue 132 Support CPU Time-related ThreadMXBean interface in Wisp2
  • Issue 143 Support Wisp Coroutine Switch in blocking NIO mode
  • Issue 124 Fix wrong EOF behavior when using blocking mode socket API

Alibaba Dragonwell 8.4.4-GA

openjdk version "1.8.0_262"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.4.4) (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.4.4) (build 25.262-b10, mixed mode)

Features

JFR

Base JDK

Bug fixes

Alibaba Dragonwell 8.3.3-GA

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.3.3) (build 1.8.0_242-b98)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.3.3) (build 25.242-b98, mixed mode)

Features

MultiTenant

  • Issue 87, Issue 95 Added new resource control management (RCM) framework, in package com.alibaba.rcm
  • Issue 84, Issue 90, Issue 91 Ported MultiTenant framework from Alibaba internal AJDK to Alibaba Dragonwell JDK
    • Enable user application to control CPU and memory resource
    • Fundamental data isolation API

Base JDK

Bug fixes

  • Issue 79 Fixed GCC 7.4 compatibility issue
  • Issue 82 Fixed fastdebug build failure
  • Issue 80 Added github workflow to build and test for each pull request
  • Issue 85 Fixed make.sh not working with sh

Alibaba Dragonwell 8.2.2-GA

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.2.2-b82) (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.2.2-b82) (build 25.232-b09, mixed mode)

Features

JFR

  • Added object allocation profiling support in JFR and you can use -XX:FlightRecorderOptions=sampleobjectallocations=true to enable this feature, which allows to sample object allocation(instance or array) in C2 compiler and two new sampling JFR events, OptoInstanceObjectAllocation and OptoArrayObjectAllocation are added to trace object allocation once the target sample is hit, which is configured by objectallocationssamplinginterval option. The user can use JMC to analyze the hot path of object allocation. Please reference the user guide for more details.

Bug fixes

  • Issue 74 [JFR] Fix build issues caused by object allocation profiling on Windows/Mac
  • Issue 73 [Misc] Build fails after rebasing 8u232, fix it by porting 8202353 from upstream
  • Issue 72 [Misc] Update the cacerts file

Alibaba Dragonwell 8.1.1-GA

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.1.1-b67) (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.1.1-b67) (build 25.222-b10, mixed mode)

Bug fixes

  • Issue 54 Fix Windows/mac build issues from G1ElasticHeap
  • Issue 53 [JWarmUp] port JWarmUp to Mac os
  • Issue 52 Disable JFR support in windows/Mac build
  • Issue 51 [JWarmUp] support windows build
  • Issue 47 [Enhancement] rebase to OpenJDK 8u222-b10 (GA)
  • Issue 46 [GC] Port G1ElasticHeap to dragonwell
  • Issue 45 [Bug] Mini-heapdump might be the default mode when FGC happens

Features

G1ElasticHeap

  • Support dynamically returning memory with G1 to reduce Java memory footprint. To enable the feature, please use -XX:+G1ElasticHeap and find more details in user guide.

JWarmUp

  • Support invoking JWarmUp via jcmd
  • Usage: jcmd JWarmup [options]
  • where options include:
    • -notify: Notify JVM that application startup is done
    • -check: Check if the last compilation submitted by JWarmup is completed
    • -deopt: Notify JVM to de-optimize warmup methods
    • -help: Print help information

Multi-platform support

  • Windows/mac platform can compile normally
  • Provide experimental Alibaba Dragonwell JDK for Windows

Alibaba Dragonwell 8.0.0-GA

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (Alibaba Dragonwell 8.0.0-b48) (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell 8.0.0-b48) (build 25.212-b04, mixed mode)

Bug fixes

  • Issue 33 Synchronize with OpenJDK upstream 212u-b04
  • Issue 25 Improve make.sh and add seperate version file.
  • Issue 5 Fix failed test case TestThreadAllocationEvent.java in debug mode
  • Issue 6 Add UnlockCommercialFeatures to improve compatibility for JFR
  • Issue 29 Add Mozilla cacerts
  • Issue 30 Issue 34 Update version
  • Issue 11 Backport JDK-8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal
  • Issue 13 Backport JDK-8010500: [parfait] Possible null pointer dereference at hotspot/src/share/vm/opto/loopnode.hpp

Alibaba Dragonwell 8.0-preview

openjdk version "1.8.0_202"
OpenJDK Runtime Environment (Dragonwell 8.0-preview) (build 1.8.0_202-b27)
OpenJDK 64-Bit Server VM (Dragonwell 8.0-preview) (build 25.202-b27, mixed mode)

Features

Garbage Collection

  • Use CMS (-XX:+UseConcMarkSweep) as the default GC.

Java Flight Recorder (JFR)

  • Backported from OpenJDK11 to Dragowell 8.0.
  • Added new command line option EnableJFR, which is off by default. You may specify -XX:+EnableJFR to use JFR.

Serviceability

  • Added new option mini to sub-command dump of jmap tool to skip content of primitive type arrays of heapdump. See jmap -help for more information.
  • Added new option PrintYoungGenHistoAfterParNewGC to print the object histogram of young generation after a ParNew GC. It can be opened by jinfo.
  • Added new option PrintGCRootsTraceTime to print the details of the ParNew GC like G1GC. It help users to find the problem of the long young gc pause time. It can be opened/closed by jinfo.
  • Added new option ArrayAllocationWarningSize to print the calling stack of an array allocation whose size beyond the ArrayAllocationWarningSize , the default value of this option is 512M. It can be changed by jinfo.

JWarmup

  • Added new option CompilationWarmUpRecording to enable record mode of JWarmup. JVM will dump loaded class list and hot methods into "jwarmup profile".
  • Added new option CompilationWarmUp to enable warmup compilation mode of JWarmUp. JVM will load "jwarmup profile" at startup and do warmup compilation triggered by application request.
  • Added new Java class com.alibaba.jwarmup.JWarmUp. It provides JAVA API to control JWarmUp behavior. Application can use this api to notify jvm to do warmup compilation, or check status, or ask JVM to deoptimize all warmup compiled methods.

Bug fixes

  • D13711 Fixed slow DNS reverse resolution bugs on low versions of Linux kernel.
  • Fix incorrect metaspace usage in gc log after full GC
Clone this wiki locally