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.