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.