Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-4059 Pig on Spark
  3. PIG-5199

exclude jline in spark dependency

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • spark-branch
    • spark
    • None

    Description

      when i fix PIG-5197 and run TestGrunt, the exception is thrown

      [ERROR] Terminal initialization failed; falling back to unsupported$
      4220 java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected$
      4221 ^Iat jline.TerminalFactory.create(TerminalFactory.java:101)$
      4222 ^Iat jline.TerminalFactory.get(TerminalFactory.java:159)$
      4223 ^Iat jline.console.ConsoleReader.<init>(ConsoleReader.java:227)$
      4224 ^Iat jline.console.ConsoleReader.<init>(ConsoleReader.java:219)$
      4225 ^Iat jline.console.ConsoleReader.<init>(ConsoleReader.java:211)$
      4226 ^Iat org.apache.pig.Main.run(Main.java:554)$
      4227 ^Iat org.apache.pig.PigRunner.run(PigRunner.java:49)$
      4228 ^Iat org.apache.pig.test.TestGrunt.testGruntUtf8(TestGrunt.java:1579)$
      4229 ^Iat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)$
      4230 ^Iat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)$
      4231 ^Iat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)$
      4232 ^Iat java.lang.reflect.Method.invoke(Method.java:498)$
      4233 ^Iat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)$
      4234 ^Iat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)$
      4235 ^Iat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)$
      4236 ^Iat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)$
      4237 ^Iat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)$
      4238 ^Iat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)$
      4239 ^Iat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)$
      4240 ^Iat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)$
      4241 ^Iat org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)$
      4242 ^Iat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)$
      4243 ^Iat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)$
      4244 ^Iat org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)$
      

      i found this is because there are 2 jars about jline in different version

      find -name jline*jar
      ./build/ivy/lib/spark/jline-0.9.94.jar
      ./build/ivy/lib/Pig/jline-2.11.jar
      ./lib/spark/jline-0.9.94.jar
      ./lib/jline-2.11.jar
      

      we need to exclude jline-0.9.94 from spark dependency.

      Attachments

        1. PIG-5199.1.patch
          2 kB
          Ádám Szita
        2. PIG-5199.patch
          0.5 kB
          liyunzhang

        Activity

          People

            szita Ádám Szita
            kellyzly liyunzhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: