This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new a0dea7ca40bc [SPARK-45802][CORE] Remove no longer needed Java
`majorVersion` checks in `Platform`
a0dea7ca40bc is described below
commit a0dea7ca40bcd0340b72dff356b3e27ecefc45b7
Author: yangjie01 <[email protected]>
AuthorDate: Tue Nov 7 09:44:12 2023 -0800
[SPARK-45802][CORE] Remove no longer needed Java `majorVersion` checks in
`Platform`
### What changes were proposed in this pull request?
This PR removes the version checks for Java 9 and 11 from `Platform`
because Spark 4.0 minimum supports Java 17.
### Why are the changes needed?
Remove no longer needed Java `majorVersion` checks.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
Pass GitHub Actions
### Was this patch authored or co-authored using generative AI tooling?
No
Closes #43672 from LuciferYang/SPARK-45802.
Lead-authored-by: yangjie01 <[email protected]>
Co-authored-by: YangJie <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../src/main/java/org/apache/spark/unsafe/Platform.java | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/common/unsafe/src/main/java/org/apache/spark/unsafe/Platform.java
b/common/unsafe/src/main/java/org/apache/spark/unsafe/Platform.java
index dfa5734ccbce..9d97d04a5813 100644
--- a/common/unsafe/src/main/java/org/apache/spark/unsafe/Platform.java
+++ b/common/unsafe/src/main/java/org/apache/spark/unsafe/Platform.java
@@ -59,13 +59,6 @@ public final class Platform {
// reflection to invoke it, which is not necessarily possible by default
in Java 9+.
// Code below can test for null to see whether to use it.
- // The implementation of Cleaner changed from JDK 8 to 9
- String cleanerClassName;
- if (majorVersion < 9) {
- cleanerClassName = "sun.misc.Cleaner";
- } else {
- cleanerClassName = "jdk.internal.ref.Cleaner";
- }
try {
Class<?> cls = Class.forName("java.nio.DirectByteBuffer");
Constructor<?> constructor = (majorVersion < 21) ?
@@ -84,7 +77,7 @@ public final class Platform {
// no point continuing if the above failed:
if (DBB_CONSTRUCTOR != null && DBB_CLEANER_FIELD != null) {
- Class<?> cleanerClass = Class.forName(cleanerClassName);
+ Class<?> cleanerClass = Class.forName("jdk.internal.ref.Cleaner");
Method createMethod = cleanerClass.getMethod("create", Object.class,
Runnable.class);
// Accessing jdk.internal.ref.Cleaner should actually fail by default
in JDK 9+,
// unfortunately, unless the user has allowed access with something
like
@@ -314,7 +307,7 @@ public final class Platform {
}
}
- // This requires `majorVersion` and `_UNSAFE`.
+ // This requires `_UNSAFE`.
static {
boolean _unaligned;
String arch = System.getProperty("os.arch", "");
@@ -326,10 +319,8 @@ public final class Platform {
try {
Class<?> bitsClass =
Class.forName("java.nio.Bits", false,
ClassLoader.getSystemClassLoader());
- if (_UNSAFE != null && majorVersion >= 9) {
- // Java 9/10 and 11/12 have different field names.
- Field unalignedField =
- bitsClass.getDeclaredField(majorVersion >= 11 ? "UNALIGNED" :
"unaligned");
+ if (_UNSAFE != null) {
+ Field unalignedField = bitsClass.getDeclaredField("UNALIGNED");
_unaligned = _UNSAFE.getBoolean(
_UNSAFE.staticFieldBase(unalignedField),
_UNSAFE.staticFieldOffset(unalignedField));
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]