Closed jfmonteil closed 5 years ago
Can you hit the "Details" button and paste the stack trace over here? Thanks in advance!
In principle, none of the other MetaStore implementations throw exceptions if you ask for elements in a namespace that doesn't exist. You simply get an empty list back. Fortunately we already have a fork of the MetaStoreFactory in the Neo4j Core plugin project (because of bugs in the Pentaho version, a recurring theme) so we can fix it there.
Possible fix in https://github.com/mattcasters/kettle-neo4j-core/issues/4
Hello, tested 4.1.1 No problem when opening the step while connected to the EE repository. However the problem happens once I want to save a new connection :
org.pentaho.metastore.api.exceptions.MetaStoreException: Namespace 'Neo4j doesn't exist in the repository at org.pentaho.di.repository.pur.metastore.PurRepositoryMetaStore.validateNamespace(PurRepositoryMetaStore.java:479) at org.pentaho.di.repository.pur.metastore.PurRepositoryMetaStore.getElementTypes(PurRepositoryMetaStore.java:223) 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.di.ui.repo.timeout.MetaStoreSessionTimeoutHandler.invoke(MetaStoreSessionTimeoutHandler.java:45) at com.sun.proxy.$Proxy194.getElementTypes(Unknown Source) at org.pentaho.metastore.stores.delegate.DelegatingMetaStore.getElementTypes(DelegatingMetaStore.java:205) at org.pentaho.metastore.stores.delegate.DelegatingMetaStore.getElementTypeByName(DelegatingMetaStore.java:236) at org.neo4j.kettle.core.metastore.MetaStoreFactory.loadElement(MetaStoreFactory.java:78) at bi.know.kettle.neo4j.shared.NeoConnectionUtils.newConnection(NeoConnectionUtils.java:39) at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.newConnection(Neo4JOutputDialog.java:1069) at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.access$000(Neo4JOutputDialog.java:57) at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog$1.widgetSelected(Neo4JOutputDialog.java:176) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.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 bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.open(Neo4JOutputDialog.java:718) at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120) at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8814) at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3287) at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.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:1384) at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949) at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331) at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710) 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)
> org.pentaho.metastore.api.exceptions.MetaStoreException: Namespace 'Neo4j doesn't exist in the repository
> at org.pentaho.di.repository.pur.metastore.PurRepositoryMetaStore.validateNamespace(PurRepositoryMetaStore.java:479)
> at org.pentaho.di.repository.pur.metastore.PurRepositoryMetaStore.getElementTypes(PurRepositoryMetaStore.java:223)
> 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.di.ui.repo.timeout.MetaStoreSessionTimeoutHandler.invoke(MetaStoreSessionTimeoutHandler.java:45)
> at com.sun.proxy.$Proxy194.getElementTypes(Unknown Source)
> at org.pentaho.metastore.stores.delegate.DelegatingMetaStore.getElementTypes(DelegatingMetaStore.java:205)
> at org.pentaho.metastore.stores.delegate.DelegatingMetaStore.getElementTypeByName(DelegatingMetaStore.java:236)
> at org.neo4j.kettle.core.metastore.MetaStoreFactory.loadElement(MetaStoreFactory.java:78)
> at bi.know.kettle.neo4j.shared.NeoConnectionUtils.newConnection(NeoConnectionUtils.java:39)
> at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.newConnection(Neo4JOutputDialog.java:1069)
> at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.access$000(Neo4JOutputDialog.java:57)
> at bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog$1.widgetSelected(Neo4JOutputDialog.java:176)
> at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
> at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
> at org.eclipse.swt.widgets.Display.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 bi.know.kettle.neo4j.steps.output.Neo4JOutputDialog.open(Neo4JOutputDialog.java:718)
> at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120)
> at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8814)
> at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3287)
> at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785)
> at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
> at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
> at org.eclipse.swt.widgets.Display.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:1384)
> at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949)
> at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331)
> at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710)
> 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)
>
OK, we get a bit further. Will harden more code and push out 4.1.2 then.
Try the new neo4j core library: https://github.com/mattcasters/kettle-neo4j-core/releases/tag/1.0.3
Replace version 1.0.2 in data-integration/plugins/Neo4JOutput/lib/
If that works I'll roll out a new version of the plugin so that the new core library is included.
GREAT Job ! It works fine now.
Thanks for the feedback JFM!
While using Pentaho 8.3 with the database repository, i have the following error
I had the following comment form Hitachi developpers
Many thanks for your help, those steps are much appreciated !!
JFM