Copilot commented on code in PR #530:
URL: https://github.com/apache/atlas/pull/530#discussion_r2815725405
##########
graphdb/janus/pom.xml:
##########
@@ -79,15 +79,26 @@
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-distcp</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded-client</artifactId>
- <version>${hbase.version}</version>
+ <version>${hbase.version}-hadoop3</version>
</dependency>
Review Comment:
According to the PR description, the application fails to start with
NoClassDefFoundError for
org/apache/hadoop/hbase/shaded/com/sun/jersey/core/provider/jaxb/AbstractRootElementProvider.
The description states that excluding
META-INF/services/javax.ws.rs.ext.MessageBodyReader and
META-INF/services/javax.ws.rs.ext.MessageBodyWriter from
hbase-shaded-client-hadoop3 resolves the issue, but this exclusion has not been
implemented. This PR cannot be merged until this critical startup failure is
resolved.
##########
graphdb/janus/pom.xml:
##########
@@ -79,15 +79,26 @@
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-distcp</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
Review Comment:
The addition of the hadoop-distcp dependency appears to be a workaround for
the hbase-shaded-mapreduce upgrade, but the PR description indicates there are
still critical unresolved issues: quick_start.py fails with
NoClassDefFoundError and the Atlas UI is unavailable due to server startup
failures. These failures are caused by conflicting META-INF/services entries in
hbase-shaded-client-hadoop3. This dependency addition should be verified as the
correct solution, and the underlying issues should be resolved before merging.
##########
webapp/src/test/java/org/apache/atlas/web/service/AtlasDebugMetricsSinkTest.java:
##########
@@ -19,7 +19,7 @@
package org.apache.atlas.web.service;
import org.apache.atlas.web.model.DebugMetrics;
-import
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration.SubsetConfiguration;
+import
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration2.SubsetConfiguration;
Review Comment:
The import change from commons-configuration to commons-configuration2
(shaded from HBase) could cause runtime compatibility issues. The Hadoop
metrics framework expects commons-configuration 1.x SubsetConfiguration, not
commons-configuration2. This mismatch needs to be addressed and thoroughly
tested to ensure the test correctly validates the behavior.
```suggestion
import org.apache.commons.configuration.SubsetConfiguration;
```
##########
webapp/src/main/java/org/apache/atlas/web/service/AtlasDebugMetricsSink.java:
##########
@@ -19,7 +19,7 @@
import org.apache.atlas.web.model.DebugMetrics;
import org.apache.commons.lang3.StringUtils;
-import
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration.SubsetConfiguration;
+import
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration2.SubsetConfiguration;
Review Comment:
Changing from
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration.SubsetConfiguration
to
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration2.SubsetConfiguration
could cause runtime compatibility issues. The MetricsSink interface from
Hadoop expects the SubsetConfiguration from commons-configuration (version
1.x), not commons-configuration2 (version 2.x). These two versions have
significant API differences. While the init method currently has an empty
implementation, this could fail at runtime if Hadoop's metrics framework passes
a commons-configuration 1.x SubsetConfiguration to this method expecting
commons-configuration2. This needs to be tested thoroughly.
```suggestion
import
org.apache.hadoop.hbase.shaded.org.apache.commons.configuration.SubsetConfiguration;
```
--
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]