Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/24167 )
Change subject: [ranger] fix ranger audit log write to hdfs ...................................................................... Patch Set 1: (4 comments) http://gerrit.cloudera.org:8080/#/c/24167/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/24167/1//COMMIT_MSG@12 PS1, Line 12: It has been : observed that without this patch, following error is hit while ranger : attempts to write audit logs to HDFS location: There were also reports that KUDU-3359 was enough to address the underlying issue once adding the necessary classpaths via the run-time flags. What has changed since then? http://gerrit.cloudera.org:8080/#/c/24167/1//COMMIT_MSG@18 PS1, Line 18: The error is caused because no implementation for hdfs:// scheme is : found in the path due to absence of hadoop-hdfs-client inside the JAR. I doubt the validity of this analysis. As I mentioned, having the hadoop-client aggregator above was supposed to take care of bringing in the implementation of the hdfs:// scheme since it assumed to pull in the hadoop-hdfs-client dependency automatically, IIUC. Also, there were reports of issues because of hadoop-common and hadoop-hdfs-client JARs overwriting each other's META-INF/services files, causing the error [1] to appear. So, a couple of questions: * Isn't it exactly what was going on because recent updates in JAR shading? The hadoop-common is supposed to bring in the necessary dependencies already. * Aren't we risking to hit a new issue because of possible conflicts/overwriting of META-INFO/services files once adding hadoop-hdfs-common as in this patch? http://gerrit.cloudera.org:8080/#/c/24167/1//COMMIT_MSG@24 PS1, Line 24: dds hadoop-hdfs-client.jar as a compile-time dependency Why is it needed at compile time as well? Wouldn't run-time only dependency be enough? http://gerrit.cloudera.org:8080/#/c/24167/1/java/gradle/dependencies.gradle File java/gradle/dependencies.gradle: http://gerrit.cloudera.org:8080/#/c/24167/1/java/gradle/dependencies.gradle@111 PS1, Line 111: hadoopClient : "org.apache.hadoop:hadoop-client:$versions.hadoop", Isn't the hadoop-client aggregator is supposed to include all the necessary pieces of the hdfs:// scheme implementation for the client side already? I'm surprised to see adding hadoopHdfsClient explicitly below. -- To view, visit http://gerrit.cloudera.org:8080/24167 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia788890ef55b44ba91c54e55a103d6aa6d306b25 Gerrit-Change-Number: 24167 Gerrit-PatchSet: 1 Gerrit-Owner: Ashwani Raina <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Zoltan Chovan <[email protected]> Gerrit-Comment-Date: Tue, 07 Apr 2026 01:59:44 +0000 Gerrit-HasComments: Yes
