Are you using aot? We have used that durable queue with 1.8. In fact, we have a compatibility later that allows you to move from the durable queue to an Aws queue: (mostly undocumented)
https://github.com/techascent/tech.queue Is the problem possibly a difference between your compilation environment and your deploy env? On Wed, Jan 16, 2019, 1:29 PM <lawrence.krub...@gmail.com wrote: > So, I upgraded to Java 11, and now everything works. So I guess this was a > version conflict. > > Just curious, but is there a way for Factual to make durable-queue to tell > Leiningen that Java 11 is necessary? > > > > On Wednesday, January 16, 2019 at 3:17:49 PM UTC-5, lawrence...@gmail.com > wrote: >> >> On the new EC2 instance, running Ubuntu: >> >> java -version >> openjdk version "1.8.0_191" >> OpenJDK Runtime Environment (build >> 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12) >> OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) >> >> Is it possible this version does not have the checksum signature that >> durable-queue is looking for? >> >> I'm thinking this is some kind of version problem. >> >> >> >> >> >> >> On Wednesday, January 16, 2019 at 2:50:14 PM UTC-5, lawrence...@gmail.com >> wrote: >>> >>> Sorry, I'm an idiot. The real error was when I called put! >>> >>> I don't understand this error: >>> >>> INFO: java.lang.NoSuchMethodError: java.util.zip.Checksum.update([B)V >>> java.lang.NoSuchMethodError: java.util.zip.Checksum.update([B)V >>> at durable_queue$checksum.invokeStatic (durable_queue.clj:64) >>> durable_queue$checksum.invokePrim (durable_queue.clj:-1) >>> durable_queue.TaskSlab.append_to_slab_BANG_ (durable_queue.clj:314) >>> durable_queue$queues$reify__6549$slab_BANG___6570.invoke >>> (durable_queue.clj:702) >>> durable_queue$queues$reify__6549$fn__6575.invoke >>> (durable_queue.clj:719) >>> durable_queue$queues$reify__6549.put_BANG_ (durable_queue.clj:717) >>> durable_queue$queues$reify__6549.put_BANG_ (durable_queue.clj:732) >>> humongorous_nlp.core$cycle_to_database$fn__13673$fn__13693.invoke >>> (core.clj:665) >>> humongorous_nlp.core$cycle_to_database$fn__13673.invoke >>> (core.clj:663) >>> clojure.lang.AFn.run (AFn.java:22) >>> java.util.concurrent.Executors$RunnableAdapter.call >>> (Executors.java:511) >>> java.util.concurrent.FutureTask.runAndReset (FutureTask.java:308) >>> >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 >>> (ScheduledThreadPoolExecutor.java:180) >>> >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run >>> (ScheduledThreadPoolExecutor.java:294) >>> java.util.concurrent.ThreadPoolExecutor.runWorker >>> (ThreadPoolExecutor.java:1149) >>> java.util.concurrent.ThreadPoolExecutor$Worker.run >>> (ThreadPoolExecutor.java:624) >>> java.lang.Thread.run (Thread.java:748) >>> >>> >>> >>> >>> On Wednesday, January 16, 2019 at 1:47:21 PM UTC-5, >>> lawrence...@gmail.com wrote: >>>> >>>> I was away from Clojure for a year and I missed it. I am pleased to be >>>> back. But I've forgotten certain common errors. I feel like this is >>>> something I used to know but now I've lost the knowledge. >>>> >>>> I'm using Factual's durable-queue to put a step inbetween the import of >>>> large JSON files, and their writes to the database. This works fine on my >>>> local MacBook Pro, but when I move to an EC2 instance, I'm instead getting >>>> time-outs when durable-queue tries to read from the queue. >>>> >>>> At start up the app creates a few of these workers, which run for as >>>> long as the app is running: >>>> >>>> (defn worker >>>> [from-topics-to-persistence-queue current-database-connection] >>>> (slingshot/try+ >>>> (loop [message (durable/take! from-topics-to-persistence-queue >>>> :message 60000 :timed-out!)] >>>> (slingshot/try+ >>>> (log-seq " the message in the work function " message) >>>> (when (= (type message) durable_queue.Task) >>>> (advance message current-database-connection)) >>>> (catch Object o >>>> (log-seq "error in worker function") >>>> (durable/retry! message) >>>> (log-seq o))) >>>> (recur (durable/take! from-topics-to-persistence-queue :message >>>> 60000 :timed-out!))) >>>> (catch Object o >>>> (error o) >>>> (slingshot/throw+ { >>>> :type worker >>>> :error o >>>> :from-topics-to-persistence-queue >>>> from-topics-to-persistence-queue >>>> :current-database-connection >>>> current-database-connection >>>> } >>>> )))) >>>> >>>> On the EC2 instance, I see in the output: >>>> >>>> Jan 16, 2019 6:43:23 PM humongorous-nlp.core invoke >>>> INFO: the message in the work function >>>> >>>> Jan 16, 2019 6:43:23 PM humongorous-nlp.core invoke >>>> INFO: >>>> >>>> Jan 16, 2019 6:43:23 PM humongorous-nlp.core invoke >>>> INFO: :timed-out! >>>> >>>> I'm using an environment var to set the path to the queue: >>>> >>>> PATH_TO_DURABLE_QUEUE_S3_TO_DATABASE=/tmp/s3_to_database_queue >>>> >>>> I feel like I ran into this problem 2 years ago, but I can't recall the >>>> solution. Is the problem specific to AWS? >>>> >>>> An important clue, I think, is that I'm not getting an error on the >>>> put!, only on the take! Why would that be? >>>> >>>> >>>> --- lawrence >>>> >>>> >>>> >>>> -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.