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.