[ 
https://issues.apache.org/jira/browse/HIVE-25750?focusedWorklogId=721041&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-721041
 ]

ASF GitHub Bot logged work on HIVE-25750:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Feb/22 17:42
            Start Date: 04/Feb/22 17:42
    Worklog Time Spent: 10m 
      Work Description: achennagiri commented on a change in pull request #2824:
URL: https://github.com/apache/hive/pull/2824#discussion_r799676734



##########
File path: beeline/pom.xml
##########
@@ -233,6 +233,53 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <descriptorRefs>
+                <descriptorRef>jar-with-dependencies</descriptorRef>
+              </descriptorRefs>
+              <finalName>jar-with-dependencies</finalName>
+              <transformers>
+                <transformer 
implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer"
 />
+                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

Review comment:
       So, what that transformer exactly does is this,
   log4j2 is plug-in programming. When the log4j2 package is compiled, or the 
package containing the log4j2 plug-in is compiled, the plug-in information that 
needs to be loaded will be placed in 
META-INF/org/apache/logging/log4j/core/config/plugins/ Log4j2Plugins.dat 
(including the official logj42 native plug-in), and then when the project 
starts, log4j2 will scan the plug-in information file in the META-INF directory 
of each jar package, and then load the plug-in.
   
   But when the project is marked as a jar package, if there are 
Log4j2Plugins.dat files in two different jar packages, there will be a problem, 
one of the files will be overwritten by the other. So, when the project starts 
the plug-in cannot be loaded normally, resulting in an error.
   
   To solve this problem, when all jar packages are labeled as one jar package, 
the Log4j2Plugins.dat in each jar package needs to be merged. This is what the 
maven-shade-plugin.log4j2-cachefile-transformer package does.




-- 
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: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 721041)
    Time Spent: 1h  (was: 50m)

> Beeline: Creating a standalone tarball by isolating dependencies
> ----------------------------------------------------------------
>
>                 Key: HIVE-25750
>                 URL: https://issues.apache.org/jira/browse/HIVE-25750
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Abhay
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The code to create a standalone beeline tarball was created as part of this 
> ticket https://issues.apache.org/jira/browse/HIVE-24348. However, a bug was 
> reported in the case when the beeline is tried to install without the hadoop 
> installed. 
> The beeline script complains of missing dependencies when it is run.
> The ask as part of this ticket is to fix that bug. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to