Skip to content
Snippets Groups Projects
  • Steve Loughran's avatar
    9a48c656
    [SPARK-13599][BUILD] remove transitive groovy dependencies from Hive · 9a48c656
    Steve Loughran authored
    ## What changes were proposed in this pull request?
    
    Modifies the dependency declarations of the all the hive artifacts, to explicitly exclude the groovy-all JAR.
    
    This stops the groovy classes *and everything else in that uber-JAR* from getting into spark-assembly JAR.
    
    ## How was this patch tested?
    
    1. Pre-patch build was made: `mvn clean install -Pyarn,hive,hive-thriftserver`
    1. spark-assembly expanded, observed to have the org.codehaus.groovy packages and JARs
    1. A maven dependency tree was created `mvn dependency:tree -Pyarn,hive,hive-thriftserver  -Dverbose > target/dependencies.txt`
    1. This text file examined to confirm that groovy was being imported as a dependency of `org.spark-project.hive`
    1. Patch applied
    1. Repeated step1: clean build of project with ` -Pyarn,hive,hive-thriftserver` set
    1. Examined created spark-assembly, verified no org.codehaus packages
    1. Verified that the maven dependency tree no longer references groovy
    
    Note also that the size of the assembly JAR was 181628646 bytes before this patch, 166318515 after —15MB smaller. That's a good metric of things being excluded
    
    Author: Steve Loughran <stevel@hortonworks.com>
    
    Closes #11449 from steveloughran/fixes/SPARK-13599-groovy-dependency.
    9a48c656
    History
    [SPARK-13599][BUILD] remove transitive groovy dependencies from Hive
    Steve Loughran authored
    ## What changes were proposed in this pull request?
    
    Modifies the dependency declarations of the all the hive artifacts, to explicitly exclude the groovy-all JAR.
    
    This stops the groovy classes *and everything else in that uber-JAR* from getting into spark-assembly JAR.
    
    ## How was this patch tested?
    
    1. Pre-patch build was made: `mvn clean install -Pyarn,hive,hive-thriftserver`
    1. spark-assembly expanded, observed to have the org.codehaus.groovy packages and JARs
    1. A maven dependency tree was created `mvn dependency:tree -Pyarn,hive,hive-thriftserver  -Dverbose > target/dependencies.txt`
    1. This text file examined to confirm that groovy was being imported as a dependency of `org.spark-project.hive`
    1. Patch applied
    1. Repeated step1: clean build of project with ` -Pyarn,hive,hive-thriftserver` set
    1. Examined created spark-assembly, verified no org.codehaus packages
    1. Verified that the maven dependency tree no longer references groovy
    
    Note also that the size of the assembly JAR was 181628646 bytes before this patch, 166318515 after —15MB smaller. That's a good metric of things being excluded
    
    Author: Steve Loughran <stevel@hortonworks.com>
    
    Closes #11449 from steveloughran/fixes/SPARK-13599-groovy-dependency.