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

Reply via email to