[ 
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)

Reply via email to