[ 
https://issues.apache.org/jira/browse/BEAM-3519?focusedWorklogId=117101&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-117101
 ]

ASF GitHub Bot logged work on BEAM-3519:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 28/Jun/18 22:52
            Start Date: 28/Jun/18 22:52
    Worklog Time Spent: 10m 
      Work Description: chamikaramj closed pull request #4727: [BEAM-3519] 
Overrides gRPC dependency for google-cloud-platform and upgrades protobuf
URL: https://github.com/apache/beam/pull/4727
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/build.gradle b/build.gradle
index 886da78412c..ff9a7133d72 100644
--- a/build.gradle
+++ b/build.gradle
@@ -32,7 +32,7 @@ def bigtable_proto_version = "1.0.0-pre3"
 def google_clients_version = "1.22.0"
 def google_auth_version = "0.7.1"
 def grpc_version = "1.2.0"
-def protobuf_version = "3.2.0"
+def protobuf_version = "3.5.1"
 def guava_version = "20.0"
 def netty_version = "4.1.8.Final"
 def grpc_google_common_protos = "0.1.9"
diff --git a/pom.xml b/pom.xml
index 004f47057a1..dfca4f07470 100644
--- a/pom.xml
+++ b/pom.xml
@@ -111,7 +111,7 @@
     <avro.version>1.8.2</avro.version>
     <bigquery.version>v2-rev374-1.22.0</bigquery.version>
     <bigtable.version>1.0.0</bigtable.version>
-    <bigtable.proto.version>1.0.0-pre3</bigtable.proto.version>
+    <bigtable.proto.version>1.0.0</bigtable.proto.version>
     <cloudresourcemanager.version>v1-rev6-1.22.0</cloudresourcemanager.version>
     <pubsubgrpc.version>0.1.18</pubsubgrpc.version>
     <clouddebugger.version>v2-rev8-1.22.0</clouddebugger.version>
@@ -145,7 +145,7 @@
     <mockito.version>1.9.5</mockito.version>
     <netty.version>4.1.8.Final</netty.version>
     <netty.tcnative.version>1.1.33.Fork26</netty.tcnative.version>
-    <protobuf.version>3.2.0</protobuf.version>
+    <protobuf.version>3.5.1</protobuf.version>
     <pubsub.version>v1-rev10-1.22.0</pubsub.version>
     <slf4j.version>1.7.25</slf4j.version>
     <spanner.version>0.20.0-beta</spanner.version>
@@ -1471,6 +1471,13 @@
         <scope>test</scope>
       </dependency>
 
+      <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-core</artifactId>
+        <version>${mockito.version}</version>
+        <scope>test</scope>
+      </dependency>
+
       <dependency>
         <groupId>com.google.cloud.dataflow</groupId>
         <artifactId>google-cloud-dataflow-java-proto-library-all</artifactId>
diff --git a/sdks/java/io/google-cloud-platform/build.gradle 
b/sdks/java/io/google-cloud-platform/build.gradle
index 6c8a8980722..a5019e9679d 100644
--- a/sdks/java/io/google-cloud-platform/build.gradle
+++ b/sdks/java/io/google-cloud-platform/build.gradle
@@ -19,6 +19,12 @@
 apply from: project(":").file("build_rules.gradle")
 applyJavaNature(enableFindbugs: false)
 
+
+// gRPC and netty dependencies are overridden for google-cloud-platform 
subproject.
+def io_gcp_grpc_version = "1.9.1"
+def io_gcp_netty_version = "4.1.17.Final"
+def io_gcp_netty_tcnative_version = "2.0.7.Final"
+
 description = "Apache Beam :: SDKs :: Java :: IO :: Google Cloud Platform"
 
 /*
@@ -36,7 +42,7 @@ dependencies {
   shadow project(path: ":sdks:java:extensions:google-cloud-platform-core", 
configuration: "shadow")
   shadow project(path: ":sdks:java:extensions:protobuf", configuration: 
"shadow")
   shadow library.java.jackson_databind
-  shadow library.java.grpc_core
+  shadow "io.grpc:grpc-core:$io_gcp_grpc_version"
   shadow library.java.google_api_services_bigquery
   shadow library.java.gax_grpc
   shadow library.java.google_cloud_core_grpc
@@ -46,10 +52,10 @@ dependencies {
   shadow library.java.bigdataoss_util
   shadow library.java.datastore_v1_proto_client
   shadow library.java.datastore_v1_protos
-  shadow library.java.grpc_auth
-  shadow library.java.grpc_netty
-  shadow library.java.netty_handler
-  shadow library.java.grpc_stub
+  shadow "io.grpc:grpc-auth:$io_gcp_grpc_version"
+  shadow "io.grpc:grpc-netty:$io_gcp_grpc_version"
+  shadow "io.netty:netty-handler:$io_gcp_netty_version"
+  shadow "io.grpc:grpc-stub:$io_gcp_grpc_version"
   shadow library.java.joda_time
   shadow library.java.google_cloud_core
   shadow library.java.google_cloud_spanner
@@ -66,8 +72,8 @@ dependencies {
   shadow library.java.avro
   shadow library.java.proto_google_cloud_spanner_admin_database_v1
   shadow library.java.proto_google_common_protos
-  shadow library.java.grpc_all
-  shadow library.java.netty_tcnative_boringssl_static
+  shadow "io.grpc:grpc-all:$io_gcp_grpc_version"
+  shadow 
"io.netty:netty-tcnative-boringssl-static:$io_gcp_netty_tcnative_version"
   testCompile project(path: ":sdks:java:core", configuration: "shadowTest")
   testCompile 
project(":sdks:java:extensions:google-cloud-platform-core").sourceSets.test.output
   testCompile project(path: ":runners:direct-java", configuration: "shadow")
diff --git a/sdks/java/io/google-cloud-platform/pom.xml 
b/sdks/java/io/google-cloud-platform/pom.xml
index 9b783ee361d..943aa6f1e89 100644
--- a/sdks/java/io/google-cloud-platform/pom.xml
+++ b/sdks/java/io/google-cloud-platform/pom.xml
@@ -65,6 +65,13 @@
     </pluginManagement>
   </build>
 
+  <properties>
+    <!-- gRPC and netty dependencies are overriden for google-cloud-platform 
module. -->
+    <io_gcp_grpc.version>1.9.1</io_gcp_grpc.version>
+    <io_gcp_netty.version>4.1.17.Final</io_gcp_netty.version>
+    <io_gcp_netty_tcnative.version>2.0.7.Final</io_gcp_netty_tcnative.version>
+  </properties>
+
   <profiles>
     <!-- This profile invokes PerfKitBenchmarker, which does benchmarking of
          the IO ITs. The arguments passed to it allow it to invoke mvn again
@@ -180,6 +187,7 @@
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-core</artifactId>
+      <version>${io_gcp_grpc.version}</version>
     </dependency>
 
     <dependency>
@@ -230,21 +238,25 @@
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-auth</artifactId>
+      <version>${io_gcp_grpc.version}</version>
     </dependency>
 
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-netty</artifactId>
+      <version>${io_gcp_grpc.version}</version>
     </dependency>
 
     <dependency>
       <groupId>io.netty</groupId>
       <artifactId>netty-handler</artifactId>
+      <version>${io_gcp_netty.version}</version>
     </dependency>
 
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-stub</artifactId>
+      <version>${io_gcp_grpc.version}</version>
     </dependency>
 
     <!-- grpc-all does not obey IWYU, so we need to exclude from compile
@@ -253,6 +265,7 @@
       <groupId>io.grpc</groupId>
       <artifactId>grpc-all</artifactId>
       <scope>runtime</scope>
+      <version>${io_gcp_grpc.version}</version>
     </dependency>
 
     <dependency>
@@ -329,6 +342,7 @@
       <groupId>io.netty</groupId>
       <artifactId>netty-tcnative-boringssl-static</artifactId>
       <scope>runtime</scope>
+      <version>${io_gcp_netty_tcnative.version}</version>
     </dependency>
 
     <dependency>
@@ -398,6 +412,12 @@
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 117101)
    Time Spent: 4h 20m  (was: 4h 10m)

> GCP IO exposes netty on its API surface, causing conflicts with runners
> -----------------------------------------------------------------------
>
>                 Key: BEAM-3519
>                 URL: https://issues.apache.org/jira/browse/BEAM-3519
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-gcp
>            Reporter: Ismaël Mejía
>            Assignee: Chamikara Jayalath
>            Priority: Critical
>          Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> Google Cloud Platform IOs module leaks netty this causes conflicts in 
> particular with execution systems that use conflicting versions of such 
> modules. 
>  For the case there is a dependency conflict with the Spark Runner version of 
> netty, see: BEAM-3492



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to