You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by "Srikanth Sundarrajan (JIRA)" <ji...@apache.org> on 2014/09/08 13:09:28 UTC

[jira] [Created] (FALCON-691) Build issues - Hadoop-2 profile

Srikanth Sundarrajan created FALCON-691:
-------------------------------------------

             Summary: Build issues - Hadoop-2 profile
                 Key: FALCON-691
                 URL: https://issues.apache.org/jira/browse/FALCON-691
             Project: Falcon
          Issue Type: Bug
          Components: build-tools, oozie
    Affects Versions: 0.5, 0.6
            Reporter: Srikanth Sundarrajan
            Assignee: Srikanth Sundarrajan
            Priority: Blocker
             Fix For: 0.5, 0.6


Unable to compile falcon code in Hadoop-2 profile.

The issue is hadoop 2.4 depends on httpcomponents:httpclient 4.2.5, while hive-10 depends on httpcomponents:httpclient 4.1.3 and the two versions of httpclient aren't compatible and oozie builds with hive-10 by default and falcon builds with hive-13 by default, resulting in both 4.1.3 & 4.2.5 jars of httpclient being in classpath. Result is that the build isn't predictable.

Errors observed during build:
{noformat}
Running org.apache.falcon.cli.FalconCLIIT
2014-09-02 09:49:34.297:WARN::Error for /falcon-webapp/api/options
java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List;
	at org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:124)
	at org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.authenticate(PseudoAuthenticationHandler.java:160)
	at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:357)
	at org.apache.falcon.security.BasicAuthFilter.doFilter(BasicAuthFilter.java:221)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
{noformat}

{noformat}
Running org.apache.falcon.cli.FalconCLIIT
2014-09-02 16:45:21.367:WARN::Error for /oozie/versions
java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List;
	at org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:124)
	at org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.authenticate(PseudoAuthenticationHandler.java:160)
	at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:357)
	at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:131)
{noformat}

The issue is apparent in the snippet below when hadoop-webapp is being built the oozie.war is shown to have both versions of hive besides both version of httpcomponents.

{noformat}
main:
fileset: Setup scanner in dir /projects/incubator-falcon/hadoop-webapp/target/oozie with patternSet{ includes: [] excludes: [] }
      [jar] Building jar: /projects/incubator-falcon/hadoop-webapp/target/oozie.war
      [jar] adding directory META-INF/
      [jar] adding entry META-INF/MANIFEST.MF
      [jar] adding directory META-INF/maven/
      [jar] adding directory META-INF/maven/org.apache.oozie/
      [jar] adding directory META-INF/maven/org.apache.oozie/oozie-webapp/
      [jar] adding directory WEB-INF/
      [jar] adding directory WEB-INF/classes/
      [jar] adding directory WEB-INF/lib/
...
      [jar] adding entry WEB-INF/lib/hive-ant-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-builtins-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-cli-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-cli-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-common-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-common-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-exec-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-exec-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-hcatalog-core-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-metastore-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-metastore-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-pdk-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-serde-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-serde-0.13.0.jar
      [jar] adding entry WEB-INF/lib/hive-service-0.10.0.jar
      [jar] adding entry WEB-INF/lib/hive-service-0.13.0.jar
...
      [jar] adding entry WEB-INF/lib/httpclient-4.1.3.jar
      [jar] adding entry WEB-INF/lib/httpcore-4.1.3.jar
...
{noformat}

The fix is to exclude httpcomponents from hive-metastore, hive-webhcat and oozie-webapp dependencies besides bumping up the version of hive by default when oozie is built.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)