[
https://issues.apache.org/jira/browse/HIVE-29356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18043849#comment-18043849
]
Stamatis Zampetakis commented on HIVE-29356:
--------------------------------------------
Thanks for taking a look [~Aggarwal_Raghav]! You are right that we shouldn't
have cyclic dependencies between these modules. Although I didn't check in
detail, I feel that cutting the dependencies between hive-exec and log4j plugis
is possible with a bit more of refactoring/abstraction.
In general, I would say that if we manage to cut all hard dependencies from
hive-exec to log4j implementation it would be a positive change in many
respects although this may be more ambitious than isolating the plugins.
> Move Log4j plugins in a new module
> ----------------------------------
>
> Key: HIVE-29356
> URL: https://issues.apache.org/jira/browse/HIVE-29356
> Project: Hive
> Issue Type: Task
> Reporter: Stamatis Zampetakis
> Priority: Major
>
> Currently, we have a few Log4j plugins that are distributed across various
> modules (llap-server, ql, metastore-server) of the project.
> {noformat}
> grep -Rl "@Plugin"
> llap-server/src/java/org/apache/hadoop/hive/llap/log/LlapRandomAccessFileAppender.java
> ql/src/test/org/apache/hadoop/hive/ql/metadata/StringAppender.java
> ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppender.java
> ql/src/java/org/apache/hadoop/hive/ql/log/HiveEventCounter.java
> ql/src/java/org/apache/hadoop/hive/ql/log/NullAppender.java
> ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppenderForTest.java
> ql/src/java/org/apache/hadoop/hive/ql/log/PidFilePatternConverter.java
> ql/src/java/org/apache/hadoop/hive/ql/log/SlidingFilenameRolloverStrategy.java
> ql/src/java/org/apache/hadoop/hive/ql/log/HushableRandomAccessFileAppender.java
> standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/testutils/CapturingLogAppender.java
> {noformat}
> Their presence requires a compile scope dependency to log4j-core and also the
> need for defining and running the respective annotation processor in multiple
> places. Isolating these plugins in a new separate module should reduce
> coupling and also limit the application of the annotation processor in a
> single place.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)