samza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Ravits <michaelr...@gmail.com>
Subject Clojure Samza Task
Date Sun, 17 May 2015 21:53:02 GMT
Hi Everybody,

Trying to get up and running with a Clojure Samza Task.
I think that my question is Clojure specific but I guess that some of the
folks here are Clojure developers which might also know the answers.

I'm trying to run a job, using the same code as here:
https://github.com/apache/samza/blob/master/samza-test/src/test/scala/org/apache/samza/test/integration/TestStatefulTask.scala#L324


This is my clojure version:

(deftest a-test
  (testing "debug"
    (let [job ^StreamJob (->> (MapConfig. config)
                              (JobRunner.)
                              (.run))]
      (do
        (.waitForStatus job (ApplicationStatus/Running) 60000)))))


The same code in Java seems to start fine. But with Clojure I get the
following error. getClassLoader returns null in at
org.eclipse.jetty.util.log.Log$1.run (Log.java:94) which causes an NPE:

Caused by: java.lang.NullPointerException: null
 at org.eclipse.jetty.util.log.Log$1.run (Log.java:94)
    java.security.AccessController.doPrivileged (AccessController.java:-2)
    org.eclipse.jetty.util.log.Log.<clinit> (Log.java:85)
    org.eclipse.jetty.util.component.AbstractLifeCycle.<clinit>
(AbstractLifeCycle.java:33)

org.apache.samza.coordinator.server.HttpServer$.$lessinit$greater$default$4
(HttpServer.scala:65)
    org.apache.samza.coordinator.JobCoordinator$.apply
(JobCoordinator.scala:56)
    org.apache.samza.job.local.ThreadJobFactory.getJob
(ThreadJobFactory.scala:39)
    org.apache.samza.job.JobRunner.run (JobRunner.scala:62)
    assembler.core_test/fn (core_test.clj:47)


I'm a bit clueless right now as to how to investigation this further and
could not find any useful information on why this could happen.
Would be great if anyone could give me a clue as to what could be causing
this problem.

My second question is regarding this line:

val job = new JobRunner(new MapConfig(jobConfig)).run

How is that JobRunner.run() in Scala returns a Job object while in Java the
same method signature returns void?

Thanks,
Michael

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message