Hi Angelica, Linkage error usually occurs when the JVM runtime is not able to find the actual path for the native library.
I assume you encounter this error in your container when you are running on Yarn. Samza exposes a property called *task.opts* which will allow you to pass in command line JVM options to your containers. I'd recommend setting task.opts = -Djava.library.path="D:/Projects/lib/your_library_dir/sub_dir/ >> I am printing the value for java.library.path and I can see the following path to the folder that contains the library cql_engine12d. Are you printing it inside your StreamTask implemention? Also, Just to isolate that it's not a problem with your environment, you can try invoking the library call from a non-Samza program? Let us know how it goes! Best, Jagadish On Thu, Jun 8, 2017 at 12:23 PM, Angelica Garcia-Gutierrez < agar...@transcendinsights.com> wrote: > Hello, > I am trying to rung a job that uses additional custom libraries > (cql_engine12). > During processing I can see the following error in one of the container > logs: > > > 2017-06-08 12:09:56 AsyncRunLoop [ERROR] Caught throwable and stopping run > loop > java.lang.UnsatisfiedLinkError: no cql_engine12d in java.library.path > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) > at java.lang.Runtime.loadLibrary0(Runtime.java:870) > at java.lang.System.loadLibrary(System.java:1122) > at com.transcendinsights.cql.CqlEngine.<clinit>(CqlEngine.java:15) > at samza.examples.wikipedia.task.MyTask.evaluate(MyTask.java:138) > at samza.examples.wikipedia.task.MyTask.process(MyTask.java:118) > at org.apache.samza.task.AsyncStreamTaskAdapter.process( > AsyncStreamTaskAdapter.java:72) > at org.apache.samza.task.AsyncStreamTaskAdapter.processAsync( > AsyncStreamTaskAdapter.java:63) > at org.apache.samza.container.TaskInstance$$anonfun$process$ > 1.apply$mcV$sp(TaskInstance.scala:162) > at org.apache.samza.container.TaskInstanceExceptionHandler. > maybeHandle(TaskInstanceExceptionHandler.scala:54) > at org.apache.samza.container.TaskInstance.process( > TaskInstance.scala:160) > at org.apache.samza.task.AsyncRunLoop$AsyncTaskWorker. > process(AsyncRunLoop.java:425) > at org.apache.samza.task.AsyncRunLoop$AsyncTaskWorker. > run(AsyncRunLoop.java:370) > at org.apache.samza.task.AsyncRunLoop$AsyncTaskWorker. > access$300(AsyncRunLoop.java:311) > at org.apache.samza.task.AsyncRunLoop.runTasks(AsyncRunLoop.java:225) > at org.apache.samza.task.AsyncRunLoop.run(AsyncRunLoop.java:154) > at org.apache.samza.container.SamzaContainer.run( > SamzaContainer.scala:730) > at org.apache.samza.container.SamzaContainer$.safeMain( > SamzaContainer.scala:122) > at org.apache.samza.container.SamzaContainer$.main( > SamzaContainer.scala:89) > at org.apache.samza.container.SamzaContainer.main( > SamzaContainer.scala) > 2017-06-08 12:09:56 SamzaContainer [ERROR] Caught exception/error in > process loop. > > I am printing the value for java.library.path and I can see the following > path to the folder that contains the library cql_engine12d. > > Any advice about what other process can be overriding the value for my > library path? > > Thanks, > Angelica > > > > > > The information transmitted is intended only for the person or entity to > which it is addressed > and may contain CONFIDENTIAL material. If you receive this > material/information in error, > please contact the sender and delete or destroy the material/information. -- Jagadish V, Graduate Student, Department of Computer Science, Stanford University