[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-29 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17095820#comment-17095820
 ] 

Hudson commented on HBASE-23833:


Results for branch branch-2.2
[build #850 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/850/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/850//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/850//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/850//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
> Fix For: 3.0.0, 2.3.0
>
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-17 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17086320#comment-17086320
 ] 

Hudson commented on HBASE-23833:


Results for branch branch-2.3
[build #41 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/41/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/41/General_20Nightly_20Build_20Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/41/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/41/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/41/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
> Fix For: 3.0.0, 2.3.0
>
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-17 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17086190#comment-17086190
 ] 

Hudson commented on HBASE-23833:


Results for branch branch-2
[build #2616 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2616/]: 
(/) *{color:green}+1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2616/General_20Nightly_20Build_20Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2616/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2616/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2616/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
> Fix For: 3.0.0, 2.3.0
>
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-16 Thread Wei-Chiu Chuang (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17085247#comment-17085247
 ] 

Wei-Chiu Chuang commented on HBASE-23833:
-

Opened PR #1534 and #1535 to get this into the respective branches. The 
cherrypick are both clean.

I intend to get HBase 2.2 to support Hadoop 3.3.0. If not, I'd be equally happy 
to see HBase 2.3 or 2.4 support Hadoop 3.3.0

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:[323,64]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.PipelineAckProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.java:[209,68]

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-09 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17079343#comment-17079343
 ] 

Hudson commented on HBASE-23833:


Results for branch master
[build #1693 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/1693/]: (x) 
*{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1693/General_20Nightly_20Build_20Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1693/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1693/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1693/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-04-08 Thread Michael Stack (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17078581#comment-17078581
 ] 

Michael Stack commented on HBASE-23833:
---

I merged to master. We need this on branch-2 and branch-2.3 too [~weichiu]? 
(Sorry for letting this one lapse).

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:[323,64]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.PipelineAckProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.java:[209,68]
>  invalid method reference
> [ERROR]   non-static method get() cannot be referenced from a static context
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-03-19 Thread Michael Stack (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17062954#comment-17062954
 ] 

Michael Stack commented on HBASE-23833:
---

[~weichiu] I wrote the above before thorough review of your PR. Your PR, as you 
say, might be best thing for now. Bringing back the hadoop-compat for just one 
class might be heavy-weight/overkill. We should wait for more hadoop33 
specializations?

Only question I have around the PR is perf. As best as I can see, its all 
static done at class loading but for one method that has to be done inline w/ a 
call. What you think for friction this technique adds?

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:[323,64]
>  incompatible types: 
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-03-19 Thread Wei-Chiu Chuang (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17062943#comment-17062943
 ] 

Wei-Chiu Chuang commented on HBASE-23833:
-

Thanks [~stack] for your time!

Hadoop 3.3.0 migrates to Protobuf 3.7.1.

Initially I thought, another approach to this (and perhaps easier solution), is 
to ship another version of hbase-shaded-netty. The trick is to relocate the 
reference of com.google.protobuf.* classes in hbase-shaded-netty to point to 
org.apache.hadoop.thirdparty.protobuf.* The problem is that netty is not only 
used for HBase-to-HDFS communication, but also HBase internal communication.

 

What you suggested makes more sense. And it's not entirely crazy (no more 
crazier than the reflection hack in the whole FanOut stuff :) ) I'll study it 
further.

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-03-18 Thread Michael Stack (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17062290#comment-17062290
 ] 

Michael Stack commented on HBASE-23833:
---

Thanks [~weichiu]

So, need two versions of FanOutOneBlock* class. One for use with hadoop-3.3 and 
another for older versions?

We used to have to do crazy stuff when hadoop1 vs hadoop2. We had whole system 
for making it so hbase would select either hadoop1 compat metrics system or 
hadoop2 at compile time using profiles; a hadoop1 and hadoop2 profile. You can 
see the vestiges still; we have hbase-hadoop-compat module which is 
"Interfaces" and they "implementations" of which there is only one now, 
hbase-hadoop2-compat. Should we figure how to move the FanOut* stuff to 
hbase-hadoop-compat and then add a hbase-hadoop33-compat w/ impl that uses the 
hadoop internal pbs?

I left some comments on your PR too.

Thanks for having a go at this one.

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Assignee: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-03-16 Thread Wei-Chiu Chuang (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17060554#comment-17060554
 ] 

Wei-Chiu Chuang commented on HBASE-23833:
-

Correction: still reproducible. Use {{mvn clean install -Dhadoop.profile=3.0 
-Dhadoop-three.version=3.3.0-SNAPSHOT}}.

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:[323,64]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.PipelineAckProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.java:[209,68]
>  invalid method reference
> [ERROR]   non-static method get() cannot be referenced from a static context
> {noformat}



--
This message was sent 

[jira] [Commented] (HBASE-23833) The relocated hadoop-thirdparty protobuf breaks HBase asyncwal

2020-03-16 Thread Wei-Chiu Chuang (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-23833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17060548#comment-17060548
 ] 

Wei-Chiu Chuang commented on HBASE-23833:
-

not sure what changed but this is no longer reproducible, at least in branch 
master.

> The relocated hadoop-thirdparty protobuf breaks HBase asyncwal
> --
>
> Key: HBASE-23833
> URL: https://issues.apache.org/jira/browse/HBASE-23833
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 3.0.0
>Reporter: Wei-Chiu Chuang
>Priority: Major
>
> Hadoop trunk (3.3.0) shaded protobuf and moved it to hadoop-thirdparty. As 
> the result, hbase asyncwal fails to compile because asyncwal uses the 
> Hadoop's protobuf objects.
> The following command
> {code}
> mvn clean install -Dhadoop.profile=3.0 -Dhadoop.version=3.3.0-SNAPSHOT
> {code}
> fails with the following error:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 
> (default-compile) on project hbase-server: Compilation failure: Compilation 
> failure:
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[361,44]
>  cannot access org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.MessageOrBuilder not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[362,14]
>  cannot access org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.GeneratedMessageV3 not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[366,16]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ByteString
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.ByteString not 
> found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[375,12]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.java:[702,81]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.DataTransferEncryptorMessageProto
>  cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[314,66]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.BlockOpResponseProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[330,81]
>  cannot access org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum
> [ERROR]   class file for 
> org.apache.hadoop.thirdparty.protobuf.ProtocolMessageEnum not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[380,10]
>  cannot find symbol
> [ERROR]   symbol:   method 
> writeDelimitedTo(org.apache.hbase.thirdparty.io.netty.buffer.ByteBufOutputStream)
> [ERROR]   location: variable proto of type 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.OpWriteBlockProto
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java:[422,77]
>  cannot access org.apache.hadoop.thirdparty.protobuf.Descriptors
> [ERROR]   class file for org.apache.hadoop.thirdparty.protobuf.Descriptors 
> not found
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java:[323,64]
>  incompatible types: 
> org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.PipelineAckProto 
> cannot be converted to com.google.protobuf.MessageLite
> [ERROR] 
> /Users/weichiu/sandbox/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/SyncReplicationWALProvider.java:[209,68]
>  invalid method reference
> [ERROR]   non-static method get() cannot be referenced from a static context
> {noformat}



--
This message was sent by Atlassian Jira