Fork me on GitHub
#onyx
<
2016-12-06
>
lucasbradstreet07:12:51

Our stallion to Seattle

yonatanel09:12:40

Seems like onyx-local-rt copied the trigger sync code from core, but didn't prepare the state the same way.

(sync-fn (:task-event state-event) window trigger state-event extent-state)
There's not any other reference to :task-event in onyx-local-rt

yonatanel10:12:48

@colinhicks In cljs, do I need to require the namespace in which I define onyx hooks in order for them to be resolved successfully by onyx?

yonatanel10:12:07

Apparently yes. I guess optimization removes all unused code

yonatanel11:12:06

I wonder if I should just use the regular onyx and query it as much as possible instead.

yonatanel13:12:30

Design question: Why aggregation and lifecycle functions inside the calls map are function objects instead of fully qualified keyword? (Gets me every time)

lucasbradstreet13:12:44

Mostly because it’d be too many layers of indirection

lucasbradstreet13:12:40

the calls map is already resolved from a keyword, and then to resolve the functions from within there via keywords would make people jump around a lot more / prevent anonymous functions being put in the call map / stop them from using their editor to jump to the functions, etc

lucasbradstreet13:12:26

I could see allowing either though.

lucasbradstreet13:12:26

@yonatanel that cqrs example looks great 🙂

yonatanel14:12:45

Thanks. Currently it wastes way more time than I thought. I'm waiting for it to return the investment

lucasbradstreet14:12:47

@yonatanel thanks for the report on the onyx-local-rt task-event issue. Could you create an issue please? Unfortunately you’re on the bleeding edge of it so you’re getting hurt by these roadblocks 😕

lucasbradstreet14:12:36

I’ll get to it on my Tapei to Seattle flight

michaeldrogalis16:12:44

Onyx turns 3 years old in the last week of December. I’m going to put out a blog post next week since I don’t intend to be online during Christmas. 😛 Mostly just want to say thanks to everyone’s contributions this year. This is the first full calendar year where it feels like the community has solidified.

michaeldrogalis16:12:20

We have so many good paths ahead of us. Proud to work with ya'll

michaeldrogalis16:12:07

@mariusz_jachimowicz Btw, if you’re doing a lot of diagrams, might want to check out https://github.com/knsv/mermaid

michaeldrogalis16:12:28

One of the problems we encounter a lot with shared documents with pictures are updating the pictures.

robert-stuttaford16:12:44

i’m busy integrating http://mdp.tylingsoft.com/ into a Datomic doc system that integrates mermaid 🙂 http://mdp.tylingsoft.com/#flowchart very nice!

michaeldrogalis16:12:01

Gosh this is nice

robert-stuttaford17:12:48

@michaeldrogalis imagine a ui like that, where the doc you edit is a :db/doc for any :db/ident holder or any lookup-ref-able entity 🙂

robert-stuttaford17:12:03

and you can search for any :db/ident

robert-stuttaford17:12:47

i’m a couple days into building it. when it’s usable, i’ll OSS it. i’m building it as a library with middleware that you just add to your ring handler with some config, and you get a plug-n-play datomic entity doc system

aaelony18:12:47

@robert-stuttaford, very cool! I've been thinking that if the translation from markdown to clojure data structures was as nice as the translation from hiccup to html, then fancy things like orgmode style agenda, search, and other coolness would become possible. So much cool stuff possible!

yonatanel18:12:14

The docs say about batch functions "such as writing segments to a database in a non-output task". How is that possible?

michaeldrogalis18:12:11

@yonatanel Do side-effecty things in :onyx/fn.

yonatanel18:12:10

But there's no context to do them

yonatanel18:12:25

Where do you get a connection from?

michaeldrogalis18:12:12

@yonatanel A lifecycle. You can send arbitrary, non-serializable parameters in. See bullet 2: http://www.onyxplatform.org/docs/user-guide/latest/#_function_parameterization

yonatanel18:12:32

Damn, totally missed that

yonatanel18:12:28

It doesn't apply to sync functions, right?

michaeldrogalis18:12:30

It doesn’t, no, since you have the whole event map in that function.

michaeldrogalis18:12:58

You can use a lifecycle and attach a value to any key, then access that key directly at the top level of the event map inside a trigger sync

yonatanel18:12:14

BTW I opened an issue for the nil event map parameter.

michaeldrogalis19:12:38

Thanks, Ill dig in tonight

yonatanel19:12:02

Lucas said he'll check it out also.

Travis19:12:25

Hey guys, we are getting this error off an on, do you guys have any insight and what may cause this to occur?

Travis19:12:33

16-12-06 19:43:53 ip-10-0-20-214.ec2.internal WARN [onyx.messaging.aeron.publication-manager:79] - Aeron messaging publication error: uk.co.real_logic.aeron.exceptions.ConductorServiceTimeoutException: Timeout between service calls over 5000000000ns
16-12-06 19:43:53 ip-10-0-20-214.ec2.internal WARN [onyx.messaging.aeron:95] - 
                                  java.lang.Thread.run           Thread.java: 745
    uk.co.real_logic.agrona.concurrent.AgentRunner.run      AgentRunner.java: 105
         uk.co.real_logic.aeron.ClientConductor.doWork  ClientConductor.java: 113
         uk.co.real_logic.aeron.ClientConductor.doWork  ClientConductor.java: 293
uk.co.real_logic.aeron.ClientConductor.onCheckTimeouts  ClientConductor.java: 338
uk.co.real_logic.aeron.exceptions.ConductorServiceTimeoutException: Timeout between service calls over 5000000000ns

Travis19:12:15

good enough

Travis19:12:48

We just bumped the version to all be 0.9.15.0 and are getting a class not found exception on AeronContext

michaeldrogalis19:12:54

We bumped the Aeron version in core, are you bringing in a version of Aeron yourself and running it on the side?

Travis19:12:21

not that i know of

Travis19:12:50

we do bring in lib-onyx and the latest version we see for that is 0.9.10 ?

michaeldrogalis19:12:17

lein deps :tree will track it down

Travis19:12:53

hmm, we are only seeing 1.0.4 in the deps tree. Noticing this is happen in

lib-onyx.media-driver

Travis20:12:47

seems like lib-onyx is still using the old aeron package names

jholmberg20:12:00

changed from:

uk.co.real_logic.aeron.Aeron$Context
to:
io.aeron.Aeron$Context

michaeldrogalis20:12:09

@jholmberg @camechis Can you please PR the change?

jholmberg20:12:29

We'll get started on it

Travis20:12:01

Yep we can, wasn’t sure if we needed to change something on our end not to use lib-onyx

michaeldrogalis20:12:32

@camechis The assessment seems right, seems like Leiningen picked the older Aeron version to put on the classpath

Travis20:12:07

yeah, lib-onyx doesn’t have a direct dep on aeron but gets it from onyx-core i think. Which bring in the latest aeron but lib-onyx code is behind

michaeldrogalis20:12:36

lib-onyx isn’t under autorelease, yeah. That would definitely be behind

Travis20:12:14

@michaeldrogalis How does lib-onyx actually get built since it has no reference to aeron in the project.clj? And i don’t see any other deps that would bring in aeron

michaeldrogalis20:12:55

@camechis It relies on whatever version of Onyx Core you bring onto the classpath

Travis20:12:22

just wasn’t sure how it gets built standalone

michaeldrogalis21:12:39

There’s a dev dep if you need to use it in isolation for testing itself: https://github.com/onyx-platform/lib-onyx/blob/master/project.clj#L24

michaeldrogalis21:12:50

But in general lib-onyx is only useful in the presence of another Onyx installation.

Travis21:12:32

ah there is, i missed that

michaeldrogalis21:12:36

@camechis Awesome, merged. Thank you!

michaeldrogalis21:12:56

Ill cut a release while Im looking at it

michaeldrogalis21:12:51

Done. 0.9.15.0 on Clojars.

Travis21:12:16

thank you, my first code contribution to onyx, lol