diff --git a/BUILD-DATASTAX.md b/BUILD-DATASTAX.md
index 3567b5ba154..cd6dadf5ebb 100644
--- a/BUILD-DATASTAX.md
+++ b/BUILD-DATASTAX.md
@@ -1,4 +1,4 @@
-Running the tests requires the following packages:
+## Running the tests requires the following packages:
```
sudo apt-get install autoconf automake libtool make tar gcc \
@@ -14,7 +14,7 @@ sudo apt-get install autoconf automake libtool make tar gcc \
a dependency of netty. It's not needed for building the project, but it is
required for running the tests.
-The release script `./docker-datastax-release.sh` requires docker be installed:
+## The release script `./docker-datastax-release.sh` requires docker be installed:
* `sudo apt-get install docker.io` to install docker.
* `sudo usermod -aG docker $USER` to allow the current user to run docker.
@@ -22,5 +22,23 @@ The release script `./docker-datastax-release.sh` requires docker be installed:
* Setup the username and password for the artifactory server in
`~/.m2/settings.xml`.
* Then run `./docker-datastax-release.sh`.
-* Follow this by releasing the MacOS specific kqueue library (must be run on MacOS):
- `./mvnw clean && JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ./mvnw -B -U -pl transport-native-unix-common,transport-native-kqueue -Partifactory deploy -DskipTests -DaltDeploymentRepository="artifactory::default::https://repo.aws.dsinternal.org/artifactory/datastax-releases-local"`
+
+## The next steps should each be run from a machine with the specific platform/architecture combinations below:
+
+### Linux ARM64/aarch_64 Epoll libraries
+* The following needs to be run from a Linux ARM64 platform (i.e. Graviton EC2 instance)
+```
+./mvnw clean && JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ./mvnw -B -U -pl transport-native-unix-common,transport-native-epoll -Partifactory deploy -DskipTests -DaltDeploymentRepository="artifactory::default::https://repo.aws.dsinternal.org/artifactory/datastax-releases-local"
+```
+
+### MacOS AMD64/x86_64 KQueue libraries
+* The follwoing needs to be run from an Intel based Mac:
+```
+./mvnw clean && JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ./mvnw -B -U -pl resolver-dns-native-macos,transport-native-unix-common,transport-native-kqueue -Partifactory deploy -DskipTests -DaltDeploymentRepository="artifactory::default::https://repo.aws.dsinternal.org/artifactory/datastax-releases-local"
+```
+### MacOS ARM64/aarch_64 KQueue libraries
+* The following needs to be run from an Apple Silicon based Mac (i.e. M1, M2, M3, etc)
+```
+./mvnw clean && JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ./mvnw -B -U -Pmac-m1-cross-compile -pl resolver-dns-native-macos,transport-native-unix-common,transport-native-kqueue -Partifactory deploy -DskipTests -DaltDeploymentRepository="artifactory::default::https://repo.aws.dsinternal.org/artifactory/datastax-releases-local"
+```
+
diff --git a/all/pom.xml b/all/pom.xml
index 7fb0ab4fa9b..1fae8e4d258 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-all
diff --git a/bom/pom.xml b/bom/pom.xml
index fc152fb86a0..66914d524b0 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -25,7 +25,7 @@
io.netty
netty-bom
- 4.1.100.1.dse
+ 4.1.100.2.dse
pom
Netty/BOM
diff --git a/buffer/pom.xml b/buffer/pom.xml
index dc45db01065..0ce1cc6a52a 100644
--- a/buffer/pom.xml
+++ b/buffer/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-buffer
diff --git a/codec-dns/pom.xml b/codec-dns/pom.xml
index 6cb830d9e11..99731d64125 100644
--- a/codec-dns/pom.xml
+++ b/codec-dns/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-dns
diff --git a/codec-haproxy/pom.xml b/codec-haproxy/pom.xml
index f52312fadc2..10ed8476828 100644
--- a/codec-haproxy/pom.xml
+++ b/codec-haproxy/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-haproxy
diff --git a/codec-http/pom.xml b/codec-http/pom.xml
index 06438fdf038..1a4e7405970 100644
--- a/codec-http/pom.xml
+++ b/codec-http/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-http
diff --git a/codec-http2/pom.xml b/codec-http2/pom.xml
index 309527db06a..17d4e60fc67 100644
--- a/codec-http2/pom.xml
+++ b/codec-http2/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-http2
diff --git a/codec-memcache/pom.xml b/codec-memcache/pom.xml
index 6cdcba8e94a..1ed67a77cfc 100644
--- a/codec-memcache/pom.xml
+++ b/codec-memcache/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-memcache
diff --git a/codec-mqtt/pom.xml b/codec-mqtt/pom.xml
index 6d1f44dadf8..2a2e83ebe9c 100644
--- a/codec-mqtt/pom.xml
+++ b/codec-mqtt/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-mqtt
diff --git a/codec-redis/pom.xml b/codec-redis/pom.xml
index 05670847c72..024684e0a31 100644
--- a/codec-redis/pom.xml
+++ b/codec-redis/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-redis
diff --git a/codec-smtp/pom.xml b/codec-smtp/pom.xml
index 655d8fce468..bef13caafe0 100644
--- a/codec-smtp/pom.xml
+++ b/codec-smtp/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-smtp
diff --git a/codec-socks/pom.xml b/codec-socks/pom.xml
index b21459c3156..b6516f2bc81 100644
--- a/codec-socks/pom.xml
+++ b/codec-socks/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-socks
diff --git a/codec-stomp/pom.xml b/codec-stomp/pom.xml
index 84ad3ce22f2..5b353cf9309 100644
--- a/codec-stomp/pom.xml
+++ b/codec-stomp/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-stomp
diff --git a/codec-xml/pom.xml b/codec-xml/pom.xml
index c143401b702..8c9884493b4 100644
--- a/codec-xml/pom.xml
+++ b/codec-xml/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec-xml
diff --git a/codec/pom.xml b/codec/pom.xml
index d99643d28ff..3085d0a8b7d 100644
--- a/codec/pom.xml
+++ b/codec/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-codec
diff --git a/common/pom.xml b/common/pom.xml
index e7ae01fc4be..53827cebe9d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -21,7 +21,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-common
diff --git a/example/pom.xml b/example/pom.xml
index cdfff7a3567..18612534882 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -21,7 +21,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-example
diff --git a/handler-proxy/pom.xml b/handler-proxy/pom.xml
index e622e7421ac..0f4078aba5f 100644
--- a/handler-proxy/pom.xml
+++ b/handler-proxy/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-handler-proxy
diff --git a/handler-ssl-ocsp/pom.xml b/handler-ssl-ocsp/pom.xml
index 8f6058ef51d..2d9b94cec50 100644
--- a/handler-ssl-ocsp/pom.xml
+++ b/handler-ssl-ocsp/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-handler-ssl-ocsp
diff --git a/handler/pom.xml b/handler/pom.xml
index f223d92baac..322002aeef6 100644
--- a/handler/pom.xml
+++ b/handler/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-handler
diff --git a/microbench/pom.xml b/microbench/pom.xml
index 458d38ee241..97a07c58909 100644
--- a/microbench/pom.xml
+++ b/microbench/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-microbench
diff --git a/pom.xml b/pom.xml
index 545a5ef5865..d850293fd0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
io.netty
netty-parent
pom
- 4.1.100.1.dse
+ 4.1.100.2.dse
Netty
https://netty.io/
diff --git a/resolver-dns-classes-macos/pom.xml b/resolver-dns-classes-macos/pom.xml
index 4e7eb73b125..143d5c9b3c1 100644
--- a/resolver-dns-classes-macos/pom.xml
+++ b/resolver-dns-classes-macos/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-resolver-dns-classes-macos
diff --git a/resolver-dns-native-macos/pom.xml b/resolver-dns-native-macos/pom.xml
index dccf52b3413..7d273c55d53 100644
--- a/resolver-dns-native-macos/pom.xml
+++ b/resolver-dns-native-macos/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-resolver-dns-native-macos
diff --git a/resolver-dns/pom.xml b/resolver-dns/pom.xml
index 75a0fb3cf5d..36e7052a8a1 100644
--- a/resolver-dns/pom.xml
+++ b/resolver-dns/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-resolver-dns
diff --git a/resolver/pom.xml b/resolver/pom.xml
index b8e41fa3065..5630db13c43 100644
--- a/resolver/pom.xml
+++ b/resolver/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-resolver
diff --git a/testsuite-autobahn/pom.xml b/testsuite-autobahn/pom.xml
index 88c13c982a8..cd5278de6cc 100644
--- a/testsuite-autobahn/pom.xml
+++ b/testsuite-autobahn/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-autobahn
diff --git a/testsuite-http2/pom.xml b/testsuite-http2/pom.xml
index 3300aabe02c..cb54bb1d4fc 100644
--- a/testsuite-http2/pom.xml
+++ b/testsuite-http2/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-http2
diff --git a/testsuite-native-image-client-runtime-init/pom.xml b/testsuite-native-image-client-runtime-init/pom.xml
index 0f835fe61cb..89589373967 100644
--- a/testsuite-native-image-client-runtime-init/pom.xml
+++ b/testsuite-native-image-client-runtime-init/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-native-image-client-runtime-init
diff --git a/testsuite-native-image-client/pom.xml b/testsuite-native-image-client/pom.xml
index 05d2c1c5682..bcdd0b3b697 100644
--- a/testsuite-native-image-client/pom.xml
+++ b/testsuite-native-image-client/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-native-image-client
diff --git a/testsuite-native-image/pom.xml b/testsuite-native-image/pom.xml
index 67187ee81e1..1380f5fd85e 100644
--- a/testsuite-native-image/pom.xml
+++ b/testsuite-native-image/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-native-image
diff --git a/testsuite-native/pom.xml b/testsuite-native/pom.xml
index 97cab74e2d2..7139dafaa9e 100644
--- a/testsuite-native/pom.xml
+++ b/testsuite-native/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-native
diff --git a/testsuite-osgi/pom.xml b/testsuite-osgi/pom.xml
index 10bf5fde865..da033d9432c 100644
--- a/testsuite-osgi/pom.xml
+++ b/testsuite-osgi/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-osgi
diff --git a/testsuite-shading/pom.xml b/testsuite-shading/pom.xml
index 2ab8daa26a7..89b7985002a 100644
--- a/testsuite-shading/pom.xml
+++ b/testsuite-shading/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite-shading
diff --git a/testsuite/pom.xml b/testsuite/pom.xml
index 743ed1d0676..3abcefcbb34 100644
--- a/testsuite/pom.xml
+++ b/testsuite/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-testsuite
diff --git a/transport-blockhound-tests/pom.xml b/transport-blockhound-tests/pom.xml
index ae3ea36f03c..b6ab9212181 100644
--- a/transport-blockhound-tests/pom.xml
+++ b/transport-blockhound-tests/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-blockhound-tests
diff --git a/transport-classes-epoll/pom.xml b/transport-classes-epoll/pom.xml
index f155ae63eb3..edfe0869542 100644
--- a/transport-classes-epoll/pom.xml
+++ b/transport-classes-epoll/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-classes-epoll
diff --git a/transport-classes-kqueue/pom.xml b/transport-classes-kqueue/pom.xml
index 1a0170b0c13..ede6d223e46 100644
--- a/transport-classes-kqueue/pom.xml
+++ b/transport-classes-kqueue/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-classes-kqueue
diff --git a/transport-native-epoll/pom.xml b/transport-native-epoll/pom.xml
index 53d2567f09c..01a5d7d0c55 100644
--- a/transport-native-epoll/pom.xml
+++ b/transport-native-epoll/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-native-epoll
@@ -74,39 +74,6 @@
-
-
- maven-enforcer-plugin
-
-
- enforce-release-environment
-
- enforce
-
-
-
-
-
- Release process must be performed on linux-x86_64.
-
- os.detected.classifier
- ^linux-x86_64$
-
-
-
- Release process must be performed on RHEL 6.8 or its derivatives.
-
-
- /etc/redhat-release
-
- release 6.9
-
-
-
-
-
-
-
@@ -242,37 +209,6 @@
-
- maven-enforcer-plugin
-
-
- enforce-release-environment
-
- enforce
-
-
-
-
-
- Cross compile and Release process must be performed on linux-x86_64.
-
- os.detected.classifier
- ^linux-x86_64.*
-
-
-
- Cross compile and Release process must be performed on RHEL 7.6 or its derivatives.
-
-
- /etc/redhat-release
-
- release 7.6
-
-
-
-
-
-
maven-dependency-plugin
@@ -316,7 +252,7 @@
${jni.compiler.args.cflags}
--libdir=${project.build.directory}/native-build/target/lib
--host=aarch64-linux-gnu
- CC=aarch64-none-linux-gnu-gcc
+ CC=gcc
diff --git a/transport-native-kqueue/pom.xml b/transport-native-kqueue/pom.xml
index fd4ef46eb60..71632b9ac2d 100644
--- a/transport-native-kqueue/pom.xml
+++ b/transport-native-kqueue/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-native-kqueue
diff --git a/transport-native-unix-common-tests/pom.xml b/transport-native-unix-common-tests/pom.xml
index 69d920642e0..d8ecfb54399 100644
--- a/transport-native-unix-common-tests/pom.xml
+++ b/transport-native-unix-common-tests/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-native-unix-common-tests
diff --git a/transport-native-unix-common/pom.xml b/transport-native-unix-common/pom.xml
index cc64c310c94..c1c919b634a 100644
--- a/transport-native-unix-common/pom.xml
+++ b/transport-native-unix-common/pom.xml
@@ -19,7 +19,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-native-unix-common
@@ -388,8 +388,8 @@
${os.detected.name}-aarch_64
linux
- aarch64-none-linux-gnu-gcc
- aarch64-none-linux-gnu-ar
+ gcc
+ ar
diff --git a/transport-native-unix-common/src/main/java/io/netty/channel/unix/FileDescriptor.java b/transport-native-unix-common/src/main/java/io/netty/channel/unix/FileDescriptor.java
index a3f13ecdd73..7032ac829c2 100644
--- a/transport-native-unix-common/src/main/java/io/netty/channel/unix/FileDescriptor.java
+++ b/transport-native-unix-common/src/main/java/io/netty/channel/unix/FileDescriptor.java
@@ -26,6 +26,7 @@
import static io.netty.channel.unix.Limits.IOV_MAX;
import static io.netty.util.internal.ObjectUtil.checkNotNull;
import static io.netty.util.internal.ObjectUtil.checkPositiveOrZero;
+import io.netty.util.internal.PlatformDependent;
import static java.lang.Math.min;
/**
@@ -37,12 +38,22 @@ public class FileDescriptor {
private static final AtomicIntegerFieldUpdater stateUpdater =
AtomicIntegerFieldUpdater.newUpdater(FileDescriptor.class, "state");
+ {
+ String arch = PlatformDependent.normalizedArch();
+ if ("x86_64".equals(arch)) {
+ O_DIRECT = 040000;
+ } else if ("aarch64".equals(arch)) {
+ // https://elixir.bootlin.com/linux/latest/source/arch/arm64/include/uapi/asm/fcntl.h#L25
+ O_DIRECT = 0200000;
+ }
+ }
+
public static final int O_RDONLY = 00;
public static final int O_WRONLY = 01;
public static final int O_CREAT = 0100;
public static final int O_TRUNC = 01000;
public static final int O_APPEND = 02000;
- public static final int O_DIRECT = 040000;
+ public static int O_DIRECT;
private static final int STATE_CLOSED_MASK = 1;
private static final int STATE_INPUT_SHUTDOWN_MASK = 1 << 1;
diff --git a/transport-rxtx/pom.xml b/transport-rxtx/pom.xml
index 9c6bf2b8409..dfdb0d9f821 100644
--- a/transport-rxtx/pom.xml
+++ b/transport-rxtx/pom.xml
@@ -21,7 +21,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-rxtx
diff --git a/transport-sctp/pom.xml b/transport-sctp/pom.xml
index 40e582ff97f..7e0590db7f7 100644
--- a/transport-sctp/pom.xml
+++ b/transport-sctp/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-sctp
diff --git a/transport-udt/pom.xml b/transport-udt/pom.xml
index 878fe9d4f88..d8966237814 100644
--- a/transport-udt/pom.xml
+++ b/transport-udt/pom.xml
@@ -21,7 +21,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport-udt
diff --git a/transport/pom.xml b/transport/pom.xml
index cbde99d17b2..621c53d8497 100644
--- a/transport/pom.xml
+++ b/transport/pom.xml
@@ -20,7 +20,7 @@
io.netty
netty-parent
- 4.1.100.1.dse
+ 4.1.100.2.dse
netty-transport