wojiaodoubao commented on code in PR #7294: URL: https://github.com/apache/hadoop/pull/7294#discussion_r1926325717
########## hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade/pom.xml: ########## @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-project</artifactId> + <version>3.5.0-SNAPSHOT</version> + <relativePath>../../../hadoop-project</relativePath> + </parent> + + <artifactId>hadoop-tos-shade</artifactId> + <version>3.5.0-SNAPSHOT</version> + <name>Apache Hadoop Volcano Engine Services Shade Dependencies</name> + <description> + This module contains code to support integration with Volcano Engine TOS. + It also declares the dependencies needed to work with Volcano Engine services. + </description> + <packaging>jar</packaging> + + <properties> + <file.encoding>UTF-8</file.encoding> + <ve-tos-java-sdk.version>2.8.6</ve-tos-java-sdk.version> + <tos.shading.prefix>org.apache.hadoop.fs.tosfs.shaded</tos.shading.prefix> + </properties> + + <dependencyManagement> + <dependencies> + <!-- The ve-tos-java-sdk 2.8.6 depends on okhttp, but okhttp violates dependency convergence. + The com.squareup.okhttp3:okhttp:jar:4.10.0 depends on org.jetbrains.kotlin:kotlin-stdlib-common, + with 2 different versions: 1.5.31 and 1.6.20. Force configure it to 1.6.20. --> + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-stdlib-common</artifactId> + <version>1.6.20</version> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>com.volcengine</groupId> + <artifactId>ve-tos-java-sdk</artifactId> + <version>${ve-tos-java-sdk.version}</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>${maven-shade-plugin.version}</version> + <executions> + <execution> + <id>shade-tos-sdk</id> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <shadeSourcesContent>true</shadeSourcesContent> + <createSourcesJar>true</createSourcesJar> + <artifactSet> + <includes> + <include>com.volcengine:*</include> + <include>com.squareup.okhttp3:okhttp</include> + <include>com.squareup.okio:okio-jvm</include> + <include>org.jetbrains.kotlin:kotlin-stdlib*</include> Review Comment: @pan3793 thanks your reply. > I just pick some tickets to demonstrate the issue... Thanks your patience. I read the provided issues and yes shade does cause anomalies. If I understand correct, relocate the same class respectively by different modules might cause NoSuchMethod or ClassNotFound. Single relocate may cause 'breaking native code' or 'breaking reflection' issues, depending on the implementation of the relocated class. > have you checked the error stacktrace of unit/integration tests... In my situation, it is the relocated one. Thanks your help. Now I more believe we should make hadoop-tos depending on tos sdk directly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
