SCB-1593 Add netty native transport dependencies & Upgrade compatible versions of gPRC and Netty
diff --git a/alpha/alpha-server/pom.xml b/alpha/alpha-server/pom.xml
index d95b522..ee4bcef 100644
--- a/alpha/alpha-server/pom.xml
+++ b/alpha/alpha-server/pom.xml
@@ -162,9 +162,23 @@
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
+      <artifactId>netty-handler</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.netty</groupId>
       <artifactId>netty-tcnative-boringssl-static</artifactId>
     </dependency>
-    
+    <dependency>
+      <groupId>io.netty</groupId>
+      <artifactId>netty-transport-native-kqueue</artifactId>
+      <classifier>osx-x86_64</classifier>
+    </dependency>
+    <dependency>
+      <groupId>io.netty</groupId>
+      <artifactId>netty-transport-native-epoll</artifactId>
+      <classifier>linux-x86_64</classifier>
+    </dependency>
+
     <!-- For testing the artifacts scope are test-->
     <dependency>
       <groupId>org.springframework.boot</groupId>
diff --git a/distribution/src/release/LICENSE b/distribution/src/release/LICENSE
index 11b5034..c7a5a28 100644
--- a/distribution/src/release/LICENSE
+++ b/distribution/src/release/LICENSE
@@ -283,24 +283,26 @@
 * FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.1 - http://findbugs.sourceforge.net/)
 * Gson (com.google.code.gson:gson:2.8.4 - https://github.com/google/gson/gson)
 * Guava: Google Core Libraries for Java (com.google.guava:guava:20.0 - https://github.com/google/guava/guava)
-* io.grpc:grpc-context (io.grpc:grpc-context:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-core (io.grpc:grpc-core:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-netty (io.grpc:grpc-netty:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-protobuf (io.grpc:grpc-protobuf:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-stub (io.grpc:grpc-stub:1.14.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-context (io.grpc:grpc-context:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-core (io.grpc:grpc-core:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-netty (io.grpc:grpc-netty:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-protobuf (io.grpc:grpc-protobuf:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-stub (io.grpc:grpc-stub:1.22.0 - https://github.com/grpc/grpc-java)
 * Javassist (org.javassist:javassist:3.20.0-GA - http://www.javassist.org/)
-* Netty/Buffer (io.netty:netty-buffer:4.1.24.Final - http://netty.io/netty-buffer/)
-* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.24.Final - http://netty.io/netty-codec-http/)
-* Netty/Codec/HTTP2 (io.netty:netty-codec-http2:4.1.24.Final - http://netty.io/netty-codec-http2/)
-* Netty/Codec/Socks (io.netty:netty-codec-socks:4.1.24.Final - http://netty.io/netty-codec-socks/)
-* Netty/Codec (io.netty:netty-codec:4.1.24.Final - http://netty.io/netty-codec/)
-* Netty/Common (io.netty:netty-common:4.1.24.Final - http://netty.io/netty-common/)
-* Netty/Handler/Proxy (io.netty:netty-handler-proxy:4.1.24.Final - http://netty.io/netty-handler-proxy/)
-* Netty/Handler (io.netty:netty-handler:4.1.24.Final - http://netty.io/netty-handler/)
-* Netty/Resolver (io.netty:netty-resolver:4.1.24.Final - http://netty.io/netty-resolver/)
+* Netty/Buffer (io.netty:netty-buffer:4.1.35.Final - http://netty.io/netty-buffer/)
+* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.35.Final - http://netty.io/netty-codec-http/)
+* Netty/Codec/HTTP2 (io.netty:netty-codec-http2:4.1.35.Final - http://netty.io/netty-codec-http2/)
+* Netty/Codec/Socks (io.netty:netty-codec-socks:4.1.35.Final - http://netty.io/netty-codec-socks/)
+* Netty/Codec (io.netty:netty-codec:4.1.35.Final - http://netty.io/netty-codec/)
+* Netty/Common (io.netty:netty-common:4.1.35.Final - http://netty.io/netty-common/)
+* Netty/Handler/Proxy (io.netty:netty-handler-proxy:4.1.35.Final - http://netty.io/netty-handler-proxy/)
+* Netty/Handler (io.netty:netty-handler:4.1.35.Final - http://netty.io/netty-handler/)
+* Netty/Resolver (io.netty:netty-resolver:4.1.35.Final - http://netty.io/netty-resolver/)
 * Netty/TomcatNative [BoringSSL - Static] (io.netty:netty-tcnative-boringssl-static:2.0.7.Final - https://github.com/netty/netty-tcnative/netty-tcnative-boringssl-static/)
-* Netty/Transport (io.netty:netty-transport:4.1.24.Final - http://netty.io/netty-transport/)
+* Netty/Transport (io.netty:netty-transport:4.1.35.Final - http://netty.io/netty-transport/)
+* Netty/Transport (io.netty:netty-transport-native-epoll:4.1.35.Final - https://github.com/netty/netty/tree/4.1/transport-native-epoll)
+* Netty/Transport (io.netty:netty-transport-native-kqueue:4.1.35.Final - https://github.com/netty/netty/tree/4.1/transport-native-kqueue)
 * Objenesis (org.objenesis:objenesis:2.6 - http://objenesis.org)
 * omega-transport-dubbo (org.apache.servicecomb.pack:omega-transport-dubbo:0.4.0-SNAPSHOT - https://github.com/apache/servicecomb-saga/omega/omega-transport/omega-transport-dubbo)
 * omega-transport-feign (org.apache.servicecomb.pack:omega-transport-feign:0.4.0-SNAPSHOT - https://github.com/apache/servicecomb-saga/omega/omega-transport/omega-transport-feign)
@@ -511,12 +513,12 @@
 * HikariCP (com.zaxxer:HikariCP:3.2.0 - https://github.com/brettwooldridge/HikariCP)
 * HPPC Collections (com.carrotsearch:hppc:0.7.1 - http://labs.carrotsearch.com/hppc.html/hppc)
 * hystrix-core (com.netflix.hystrix:hystrix-core:1.4.3 - https://github.com/Netflix/Hystrix)
-* io.grpc:grpc-context (io.grpc:grpc-context:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-core (io.grpc:grpc-core:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-netty (io.grpc:grpc-netty:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-protobuf (io.grpc:grpc-protobuf:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.14.0 - https://github.com/grpc/grpc-java)
-* io.grpc:grpc-stub (io.grpc:grpc-stub:1.14.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-context (io.grpc:grpc-context:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-core (io.grpc:grpc-core:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-netty (io.grpc:grpc-netty:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-protobuf (io.grpc:grpc-protobuf:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.22.0 - https://github.com/grpc/grpc-java)
+* io.grpc:grpc-stub (io.grpc:grpc-stub:1.22.0 - https://github.com/grpc/grpc-java)
 * Jackson (org.codehaus.jackson:jackson-core-asl:1.9.13 - http://jackson.codehaus.org)
 * Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.9.0 - http://github.com/FasterXML/jackson)
 * Jackson-core (com.fasterxml.jackson.core:jackson-core:2.9.0 - https://github.com/FasterXML/jackson-core)
@@ -557,17 +559,17 @@
 * nacos-common 1.0.0 (com.alibaba.nacos:nacos-common:1.0.0 - http://maven.apache.org)
 * netflix-commons-util (com.netflix.netflix-commons:netflix-commons-util:0.1.1 - https://github.com/Netflix/netflix-commons)
 * netflix-statistics (com.netflix.netflix-commons:netflix-statistics:0.1.1 - https://github.com/Netflix/netflix-commons)
-* Netty/Buffer (io.netty:netty-buffer:4.1.24.Final - http://netty.io/netty-buffer/)
-* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.24.Final - http://netty.io/netty-codec-http/)
-* Netty/Codec/HTTP2 (io.netty:netty-codec-http2:4.1.24.Final - http://netty.io/netty-codec-http2/)
-* Netty/Codec/Socks (io.netty:netty-codec-socks:4.1.24.Final - http://netty.io/netty-codec-socks/)
-* Netty/Codec (io.netty:netty-codec:4.1.24.Final - http://netty.io/netty-codec/)
-* Netty/Common (io.netty:netty-common:4.1.24.Final - http://netty.io/netty-common/)
-* Netty/Handler/Proxy (io.netty:netty-handler-proxy:4.1.24.Final - http://netty.io/netty-handler-proxy/)
-* Netty/Handler (io.netty:netty-handler:4.1.24.Final - http://netty.io/netty-handler/)
-* Netty/Resolver (io.netty:netty-resolver:4.1.24.Final - http://netty.io/netty-resolver/)
-* Netty/TomcatNative [BoringSSL - Static] (io.netty:netty-tcnative-boringssl-static:2.0.7.Final - https://github.com/netty/netty-tcnative/netty-tcnative-boringssl-static/)
-* Netty/Transport (io.netty:netty-transport:4.1.24.Final - http://netty.io/netty-transport/)
+* Netty/Buffer (io.netty:netty-buffer:4.1.35.Final - http://netty.io/netty-buffer/)
+* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.35.Final - http://netty.io/netty-codec-http/)
+* Netty/Codec/HTTP2 (io.netty:netty-codec-http2:4.1.35.Final - http://netty.io/netty-codec-http2/)
+* Netty/Codec/Socks (io.netty:netty-codec-socks:4.1.35.Final - http://netty.io/netty-codec-socks/)
+* Netty/Codec (io.netty:netty-codec:4.1.35.Final - http://netty.io/netty-codec/)
+* Netty/Common (io.netty:netty-common:4.1.35.Final - http://netty.io/netty-common/)
+* Netty/Handler/Proxy (io.netty:netty-handler-proxy:4.1.35.Final - http://netty.io/netty-handler-proxy/)
+* Netty/Handler (io.netty:netty-handler:4.1.35.Final - http://netty.io/netty-handler/)
+* Netty/Resolver (io.netty:netty-resolver:4.1.35.Final - http://netty.io/netty-resolver/)
+* Netty/TomcatNative [BoringSSL - Static] (io.netty:netty-tcnative-boringssl-static:2.0.25.Final - https://github.com/netty/netty-tcnative/netty-tcnative-boringssl-static/)
+* Netty/Transport (io.netty:netty-transport:4.1.35.Final - http://netty.io/netty-transport/)
 * Netty (io.netty:netty:3.10.6.Final - http://netty.io/)
 * Non-Blocking Reactive Foundation for the JVM (io.projectreactor:reactor-core:3.2.10.RELEASE - https://github.com/reactor/reactor-core)
 * Objenesis (org.objenesis:objenesis:2.6 - http://objenesis.org)
diff --git a/pom.xml b/pom.xml
index 13eded6..b8898ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,7 +62,7 @@
     <akka-persistence-redis.version>0.4.0</akka-persistence-redis.version>
     <rat.version>0.12</rat.version>
     <maven.failsafe.version>2.19.1</maven.failsafe.version>
-    <grpc.version>1.14.0</grpc.version>
+    <grpc.version>1.22.0</grpc.version>
     <kryo.version>4.0.1</kryo.version>
     <javax.transaction.version>1.2</javax.transaction.version>
     <eclipse.link.version>2.7.1</eclipse.link.version>
@@ -71,8 +71,8 @@
     <jaxb.version>2.3.0</jaxb.version>
     <javax.activation.version>1.1.1</javax.activation.version>
     <maven-dependency-plugin.version>3.0.2</maven-dependency-plugin.version>
-    <netty.boringssl.version>2.0.7.Final</netty.boringssl.version>
-    <netty.version>4.1.24.Final</netty.version>
+    <netty.boringssl.version>2.0.25.Final</netty.boringssl.version>
+    <netty.version>4.1.35.Final</netty.version>
     <zookeeper.version>3.4.13</zookeeper.version>
     <kafka.version>2.1.1</kafka.version>
     <hystrix.version>1.5.12</hystrix.version>
@@ -235,6 +235,18 @@
         <version>${netty.version}</version>
       </dependency>
       <dependency>
+        <groupId>io.netty</groupId>
+        <artifactId>netty-transport-native-kqueue</artifactId>
+        <version>${netty.version}</version>
+        <classifier>osx-x86_64</classifier>
+      </dependency>
+      <dependency>
+        <groupId>io.netty</groupId>
+        <artifactId>netty-transport-native-epoll</artifactId>
+        <version>${netty.version}</version>
+        <classifier>linux-x86_64</classifier>
+      </dependency>
+      <dependency>
         <groupId>com.google.code.gson</groupId>
         <artifactId>gson</artifactId>
         <version>2.8.4</version>