[MCOL-1315] Pentaho Bulk Load Module doesn't work Created: 2018-03-30  Updated: 2023-10-26  Resolved: 2018-04-11

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: 1.1.4
Fix Version/s: 1.1.4

Type: Bug Priority: Blocker
Reporter: Elena Kotsinova (Inactive) Assignee: Elena Kotsinova (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Environment:

PDI Adapter:
Version: 1.1.4
Revision: 2b9b9e1

CentOS 7, PDI 8


Sprint: 2018-07, 2018-08

 Description   

1. Create new transformation
2. Add MariaDB CS Bulk Load

Result:
Adding the module displays Error message box.

Could not initialize class com.mariadb.columnstore.api.kettle.KettleColumnStoreBulkExporterStepMeta
 
Detailed:
org.pentaho.di.core.exception.KettlePluginException: 
Unexpected error loading class:
Could not initialize class com.mariadb.columnstore.api.kettle.KettleColumnStoreBulkExporterStepMeta
 
	at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:550)
	at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:366)
	at org.pentaho.di.ui.spoon.Spoon.newStep(Spoon.java:6656)
	at org.pentaho.di.ui.spoon.trans.TransGraph$5.drop(TransGraph.java:651)
	at org.eclipse.swt.dnd.DNDListener.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.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
	at org.eclipse.swt.dnd.DropTarget.drag_data_received(Unknown Source)
	at org.eclipse.swt.dnd.DropTarget.Drag_Data_Received(Unknown Source)
	at org.eclipse.swt.internal.gtk.OS._gtk_drag_get_data(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_drag_get_data(Unknown Source)
	at org.eclipse.swt.dnd.DropTarget.drag_drop(Unknown Source)
	at org.eclipse.swt.dnd.DropTarget.Drag_Drop(Unknown Source)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Unknown Source)
	at org.eclipse.swt.widgets.Display.eventProc(Unknown Source)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(Unknown Source)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
	at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1366)
	at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7984)
	at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9245)
	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
	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)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.mariadb.columnstore.api.kettle.KettleColumnStoreBulkExporterStepMeta
	at sun.reflect.GeneratedConstructorAccessor82.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
	... 30 more

Module can't be added.

Additional information:
1. Existing transformations contained bulk load module can't be open at all in PDI
2. I have followed the new installation instructions.



 Comments   
Comment by Elena Kotsinova (Inactive) [ 2018-03-30 ]

It seems that there is dependency from Bulk SDK and it must be installed on the environment.
Verifying this now

Comment by Elena Kotsinova (Inactive) [ 2018-03-30 ]

Yes, the Bulk Load SDK must be installed.

Comment by Jens Röwekamp (Inactive) [ 2018-03-30 ]

one shared library libmcsapi.so is currently missing in the plugin.

Installing the bulk write sdk manually solves the problem, for now.

Comment by Jens Röwekamp (Inactive) [ 2018-03-31 ]

Added libmcsapi.so to the lib directory of the plugin and set its RPATH in libjavamcsapi.so to $ORIGIN.

Currently all shared libraries need to be specified manually in build.gradle.

In a future update we should include mariadb-columnstore-api as git submodule to be able to link libmcsapi.so and libjavamcsapi.so directly without specifying an explicit path.

Comment by Elena Kotsinova (Inactive) [ 2018-04-11 ]

Together with instructions this seems to be resolved properly.

Verified with:
Version: 1.1.4
Revision: 493914b

Generated at Thu Feb 08 02:27:49 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.