0

I use Pentaho 6 (6.0.1.0-386).

My system is Ubuntu 14.04 LTS Linux LT0124 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux Java version: java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) I am able to open Pentaho and select specific transformation. But when I try to execute it I am getting following error:

An unexpected error occurred in Spoon:

org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z
java.lang.NoSuchMethodError: 
org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z
at org.pentaho.di.ui.spoon.Spoon.executeFile(Spoon.java:8497)
at org.pentaho.di.ui.spoon.Spoon.runFile(Spoon.java:8470)
at org.pentaho.di.ui.spoon.trans.TransGraph.runTransformation(TransGraph.java:3376)
at org.pentaho.di.ui.spoon.trans.TransGraph$12.widgetSelected(TransGraph.java:1727)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1347)
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7989)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9269)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:662)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

enter image description here

Could you please let me know what is the root cause?

JulianHarty
  • 3,178
  • 3
  • 32
  • 46
wlodi83
  • 123
  • 1
  • 13

1 Answers1

1

This is jar versions conflict. Take a look onto 'kettle-engine-6.1-XXX.jar' where is 6.1 is release version. In your case should be not less then 6.0.

The method mentioned above

org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z java.lang.NoSuchMethodError: 

...was moved from TransMeta to AbstractMeta class so in old jars TransMeta just doesn't have such method (if was moved to abstract class) - and so with old jars you have such stack-trace.

Here the history

  • Hi Dzmitry, not sure if I understand how to solve the problem. Where I can find this kettle-engine-6.1-XXX.jar file? Should I maybe download Pentaho PDI 6.0? – wlodi83 Sep 08 '16 at 14:55
  • 1
    locate a folder where you have launch PDI, then navigate to folder lib, then search for jar prefixed like kettle-engine-XXX.jar and post here to be sure you using correct version. I would suggest to re-download or reinstall data-integration since if you have one jar versions conflict, there may have been others. Are you manually changing jars in /lib folder? – Dzmitry Prakapenka Sep 08 '16 at 15:09
  • Ok, it looks like I copied old jar file to the lib folder because I have new and old one: kettle-engine-6.0.1.0-386.jar kettle-engine-6.1.0.1-196.jar kettle-engine-test-6.1.0.1-196.jar – wlodi83 Sep 08 '16 at 15:28
  • Thanks, for your help Dzmitry! – wlodi83 Sep 08 '16 at 15:28
  • If you have 2 same jars with different versions never know which one will be loaded with java class-loader. 386/196 at the end of jar name is number of build from ci job. That is not a 'stable official' releases at all. If you want to say thank you here just vote up. – Dzmitry Prakapenka Sep 08 '16 at 15:48