nicoloboschi opened a new pull request, #3234:
URL: https://github.com/apache/bookkeeper/pull/3234

   ### Motivation
   
   Starting from JDK17 the reflection is not allowed in the jdk internals 
modules. Until JDK16, it will print a warning like this:
   ```
   Error:  WARNING: An illegal reflective access operation has occurred
   Error:  WARNING: Illegal reflective access by 
org.apache.bookkeeper.proto.checksum.DirectMemoryCRC32Digest 
(file:/home/runner/work/bookkeeper/bookkeeper/bookkeeper-server/target/classes/)
 to method java.util.zip.CRC32.updateByteBuffer(int,long,int,int)
   Error:  WARNING: Please consider reporting this to the maintainers of 
org.apache.bookkeeper.proto.checksum.DirectMemoryCRC32Digest
   Error:  WARNING: Use --illegal-access=warn to enable warnings of further 
illegal reflective access operations
   Error:  WARNING: All illegal access operations will be denied in a future 
release
   ```
   
   With JDK17, BookKeeper and Netty work well even if this optimization are not 
allowed. In order to continue to use them, we need to open the required modules
   
   For Netty, we can follow this issue: 
https://github.com/netty/netty/issues/12265
   For BookKeeper, I identified DirectMemoryCRC32Digest and NativeIO classes
   
   ### Changes
   
   * Add the open modules options to open the required module (only if jdk9+ 
because jdk8 doesn't know the `--add-opens` instruction


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to