Fork me on GitHub
#onyx
<
2017-06-28
>
jasonbell15:06:17

@eelke Is there a stacktrace for your

Writing to closed publication. java.lang.IllegalStateException: Publication has been closed
message? That’s where I’d be looking first.

jasonbell15:06:08

Secondly, have you tried the normal S3 plugin? Why write your own? Asking out of interest.

eelke15:06:02

Second question: We had the following issue https://github.com/onyx-platform/onyx-amazon-s3/pull/5 with the 0.9.x version

eelke15:06:26

And the 0.10.x onyx version hasn't gone alpha yet

eelke15:06:58

First we wrote our own using amazonica. But we ran into several issues, amongst which com.amazonaws.ResetException problems.

eelke15:06:06

I can send you the code

jasonbell15:06:43

What’s the lifecycle on the peer, do they restart after failure? Just wondering if one of the task peers has died for some reason. They job keeps going but nothing happens. I’ve hit that before.

eelke07:06:32

jasonbell: Looking at the dashboard all peers are still up after the :backpressure-on message. On another note, in one instance when I restart the nodes with 100% CPU autoscaling creates new nodes and the job starts processing data again.

jasonbell08:06:01

So how are you running all this? Within a container system of some form, Docker etc, or just on a machine? Anything that trips 100% CPU starts to concern me. What memory, message size and those kinds of things are you dealing with? I’m running out of ideas 🙂

eelke09:06:51

Thanks for having ideas 😉. Yes it is running from docker.

eelke09:06:35

We use -Xmx2637m

jasonbell09:06:59

What are the message sizes like? Smaller than < 1mb?

jasonbell09:06:13

Since 0.10 the docker --shm-size has needed to be quite large, like 1gb.

eelke09:06:20

yeah mean the input messages or output batch?

eelke09:06:46

input messages are < 1mb

eelke09:06:06

output batches to s3 can be up to 3mb

eelke09:06:47

docker version is 1.11.2 and shm-size is 2GB

jasonbell09:06:56

and what’s the Aeron term buffer size?

niamu21:06:34

I’m starting to create my first Onyx project using lein new onyx-app ... and I’m seeing for the first time calls to onyx.job.add-task rather than explicitly creating the data structures for the catalog and lifecycles as I’ve seen in the “learn-onyx” source code. Are there advantages to using add-task over just having the structure explicit in the source file?

lucasbradstreet21:06:30

@niamu the add-task structure ensures you don't make mistakes when you need both catalogs and lifecycles together. It also makes it a bit nicer when parametrising tasks, though you can do that part in different ways

niamu21:06:59

That makes sense. I’m looking at pitching Onyx to the company I work at and one of the advantages I saw in Onyx was the data structure of the pipeline being relatively easy to understand without needing to know Clojure. Just making sure there aren’t any sharp edges I’d encounter continuing down that path and avoiding add-task.

michaeldrogalis21:06:27

@niamu Nope, purely there as development-time helpers.

michaeldrogalis21:06:23

The important thing is that no matter how you construct the job, it always needs to be an EDN data structure before it’s submitted.

niamu21:06:13

I’ll continue with explicitly defining the data structure in my source files because I think that works better for my needs and limits the amount of Clojure knowledge needed to understand how the data pipeline works. Thanks!

jasonbell08:06:01

So how are you running all this? Within a container system of some form, Docker etc, or just on a machine? Anything that trips 100% CPU starts to concern me. What memory, message size and those kinds of things are you dealing with? I’m running out of ideas 🙂