[ 
https://issues.apache.org/jira/browse/HIVE-29356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18042869#comment-18042869
 ] 

Raghav Aggarwal commented on HIVE-29356:
----------------------------------------

[~zabetak] , i tried creating a new module, there is a setback in following 
classes. This class depends on other hive-exec classes leading to cyclic 
dependeny. Rest all the '@Plugin' classes can be moved.
{code:java}
ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppender.java
ql/src/java/org/apache/hadoop/hive/ql/log/LogDivertAppenderForTest.java {code}
Commit for reference: 
[https://github.com/Aggarwal-Raghav/hive/commit/147de7b000b9ce897fbdb6d7ee118c4155feaf20]

Let me know your thoughts on this? As we' won't be able to remove the compiler 
plugin log4j2 depenency from ql/pom.xml

> 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