onyx

FYI: alternative Onyx :onyx: chat is at <https://gitter.im/onyx-platform/onyx> ; log can be found at <https://clojurians-log.clojureverse.org/onyx/index.html>
dbernal 2018-03-07T20:04:10.000052Z

When using the grouping functionality, does the batch-size limit how much is able to be grouped. That is to say, if there were 2000 of the same keys in a dataset and the batch-size was 1000 would I get two groups of the same key?

lucasbradstreet 2018-03-07T20:05:29.000081Z

@dbernal no, as long as you use onyx/group-by, the keys will be grouped together on the same peer and the groups will be maintained over multiple batches.

lucasbradstreet 2018-03-07T20:05:42.000724Z

onyx/batch-size is primarily a latency/throughput/optimisation knob

lucasbradstreet 2018-03-07T20:05:56.000434Z

cost of doing something as a batch is lower than segment at a time

dbernal 2018-03-07T20:08:52.000093Z

@lucasbradstreet ok cool, thank you. As a follow up question, what is the behavior with streaming jobs. Would you need a batch-timeout to funnel out the grouped segments?

lucasbradstreet 2018-03-07T20:19:29.000339Z

You use a trigger to decide when to emit, and add a trigger/emit to have it flow out to downstream tasks. You probably want to use onyx/type reduce if you don’t want to emit the original segments with it

dbernal 2018-03-07T20:22:17.000559Z

@lucasbradstreet ah gotcha ok. Thanks for the info!

lellis 2018-03-07T21:02:00.000377Z

Hi all! I having some trouble in my enviroment config. I have 125 v-peers in a 4 core 16gb ram machine, running embedded aeron. Some times the peer kill an datomic-input type job with this ex: "IllegalStateException : Insufficient usable storage for new log of length=25169920 in /dev/shm (tmpfs)" I have 8GB in my /dev/shm. So what i have to tunning to stop these exception?

michaeldrogalis 2018-03-07T21:16:44.000015Z

@lellis That's an extremely high number of peers for a single machine. You're definitely going to want to add another box

michaeldrogalis 2018-03-07T21:17:19.000021Z

If you actually need that many, I'd look at adding more than 1. Each peer is holding its own thread open, so that's going to hammer a machine of that size.

lucasbradstreet 2018-03-07T21:18:07.000193Z

You can also reduce the shm size for the messenger buffers, but 125 peers on one box is begging to be reduced, as you’re going to have lots of threads competing with each other

lellis 2018-03-07T21:23:19.000136Z

Yeah i think about another box, but for these development environment i will like to run without another box ($$ reason) so what i have to do to reduce buffer size? @michaeldrogalis @lucasbradstreet

lellis 2018-03-07T21:25:06.000294Z

What's a good number for v-peers / box? In a machine like that.

lucasbradstreet 2018-03-07T21:25:14.000042Z

@lellis you can reduce the buffer size with these: http://www.onyxplatform.org/docs/cheat-sheet/latest/#peer-config/:onyx.messaging/term-buffer-size.segment

lucasbradstreet 2018-03-07T21:25:21.000317Z

but I would also try to reduce the number of peers

lucasbradstreet 2018-03-07T21:25:41.000657Z

if you have tasks with max / n-peers > 1, you may be able to reduce the peer count

lellis 2018-03-07T21:26:16.000281Z

all my tasks have n-peers = 1

lucasbradstreet 2018-03-07T21:26:43.000260Z

Ah, how come you need so many tasks? Lots of small tasks that do one small transformation?

lucasbradstreet 2018-03-07T21:27:03.000683Z

Seems like a big smell and you could possibly comp them together

lellis 2018-03-07T21:27:17.000026Z

I have 1 big job (datomic-input) and 8 others timers jobs

lellis 2018-03-07T21:30:30.000630Z

the big one its like an observale. They act if a pattern trigger, and they have a lot of patterns.

lellis 2018-03-07T21:32:00.000685Z

and lot of different things to do if a particular flow-condition is triggered