Hi everyone,

So I've been trying to write my own interpreter for Splunk, because I haven't 
found any.

I'm running into a problem, and we've been struggling with it for 2 days now. 
So maybe one of you will have ideas, especially if you have tried running a 
contrib interpreter in a dockerized Zeppelin.

The (prototypic !!) interpreter has a function open, close, cancel, 
getFormType, getProgress and obviously interpret. It extends Interpreter.
It builds, yields a lib/ directory, a jar and a JSON for settings.
The interpreter is copied under the ZEPPELIN_HOME/interpreter/splunk directory, 
altogether with its own lib directory and stuff.
Everything works fine when we execute Zeppelin in our host, and execute our new 
interpreter using the GUI.
The problem arises when I try to run it in the Docker. Then, it fails with this 
line (this occurs in bin/interpreter.sh):

Interpreter download command: java -Dfile.encoding=UTF-8 
-Dlog4j.configuration=file:///home/marion/ZEPPELIN_TESTS/zeppelin-0.10.1-SNAPSHOT/conf/log4j.properties
 
-Dlog4j.configurationFile=file:///home/marion/ZEPPELIN_TESTS/zeppelin-0.10.1-SNAPSHOT/conf/log4j2.properties
 
-Dzeppelin.log.file=/home/marion/ZEPPELIN_TESTS/zeppelin-0.10.1-SNAPSHOT/logs/zeppelin-interpreter--marion-machine.log
 -cp 
:interpreter/splunk/*:::/home/marion/ZEPPELIN_TESTS/zeppelin-0.10.1-SNAPSHOT/interpreter/zeppelin-interpreter-shaded-0.10.1-SNAPSHOT.jar
 org.apache.zeppelin.interpreter.remote.RemoteInterpreterDownloader 
192.168.123.4 37986 splunk local-repo/splunk
Exception in thread "main" java.lang.NoSuchMethodError: 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterEventClient.getAllLibraryMetadatas(Ljava/lang/String;)Ljava/util/List;
at 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterDownloader.syncAllLibraries(RemoteInterpreterDownloader.java:74)
at 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterDownloader.main(RemoteInterpreterDownloader.java:63)


This does not happen for any other interpreter (md, jdbc or sh) that we tried, 
and frankly we are at a loss.
We tried changing the rights to 777 everywhere to see if maybe some 
access-rights were causing problems, but this did not help.

This is reproducible in our local shell (outside Docker):
bin/interpreter.sh -d interpreter/splunk -c 192.168.123.4 -p 37986 -r : -i 
splunk-shared_process -l local-repo/splunk -g splunk fails in the same way, 
same Java exception.
Since when running zeppelin outside docker, and running the Splunk interpreter 
with the GUI it works fine, we believe that some path somewhere is wrong, but 
we cannot find which one.
We tried dumping the environment variables set when it works (inside the 
"outside-Docker-zeppelin"), nothing stood out, and setting the same values in 
our local shell did not solve anything.

It is not sure that the same problem happens inside the Docker and in the local 
shell, but the error message is the same, so our current hypothesis is that it 
is the same root cause.

Has anyone seen this happen before ? Is it our "lib" repo posing problems ? Are 
any contrib interpreters running properly in Docker ?

Or seen a Splunk interpreter for that matter ?

Any help appreciated :)
Thanks a lot,
Marion
Les données à caractère personnel recueillies et traitées dans le cadre de cet 
échange, le sont à seule fin d’exécution d’une relation professionnelle et 
s’opèrent dans cette seule finalité et pour la durée nécessaire à cette 
relation. Si vous souhaitez faire usage de vos droits de consultation, de 
rectification et de suppression de vos données, veuillez contacter 
contact.r...@sgdsn.gouv.fr. Si vous avez reçu ce message par erreur, nous vous 
remercions d’en informer l’expéditeur et de détruire le message. The personal 
data collected and processed during this exchange aims solely at completing a 
business relationship and is limited to the necessary duration of that 
relationship. If you wish to use your rights of consultation, rectification and 
deletion of your data, please contact: contact.r...@sgdsn.gouv.fr. If you have 
received this message in error, we thank you for informing the sender and 
destroying the message.

Reply via email to