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>
lucasbradstreet 2017-11-23T00:06:11.000043Z

We will be releasing 0.12 very soon, if you’re able to upgrade. CI is building a 0.12 snapshot with the fix now.

lucasbradstreet 2017-11-23T00:06:45.000055Z

I can deploy to clojars a 0.11 snapshot to tide you over if you really need it soon.

lucasbradstreet 2017-11-23T00:12:41.000018Z

@kenny give onyx-kafka 0.11.1.2-20171123.001220-3 a go.

kenny 2017-11-23T00:13:57.000140Z

We'll be upgrading to 0.12 soon. That release solves my issue. Thanks!

lucasbradstreet 2017-11-23T00:14:49.000105Z

:thumbsup:

kenny 2017-11-23T00:18:09.000019Z

BTW OCD thing: anyway you guys could update to a newer version of clj-fuzzy to get rid of this warning:

WARNING: any? already refers to: #'clojure.core/any? in namespace: clj-fuzzy.helpers, being replaced by: #'clj-fuzzy.helpers/any?
I have added it in my :dependencies temporarily to get rid of the warning 🙃

lucasbradstreet 2017-11-23T00:19:47.000238Z

Yeah, I really should. I’ll get that in 0.12 too.

❤️ 1
lucasbradstreet 2017-11-23T00:20:39.000214Z

There were so many of those previously with 1.9 on the way that I had gotten a bit too used to tuning them out.

1
michaeldrogalis 2017-11-23T00:32:12.000046Z

Incidentally when we drop Schema we can drop clj-fuzzy too

1
kenny 2017-11-23T00:37:10.000242Z

Anyway.. The issue that led us down this rabbit hole is still present even after updating to onyx-kafka 0.11.1.1.

kenny 2017-11-23T00:37:48.000176Z

I'll try and create an isolated reproduction of the problem.

lucasbradstreet 2017-11-23T00:38:40.000097Z

Try validating your task map against the schema in the onyx.kafka.tasks file

lucasbradstreet 2017-11-23T00:39:04.000009Z

That’s about as minimal as you can get here

kenny 2017-11-23T00:39:19.000022Z

Ok

kenny 2017-11-23T00:44:51.000013Z

(schema/check kafka-tasks/KafkaOutputTaskMap
              {:onyx/type           :output
               :onyx/name           :kafka-out
               :onyx/plugin         :onyx.plugin.kafka/write-messages
               :onyx/medium         :kafka
               :kafka/offset-reset  :earliest
               :kafka/zookeeper     "127.0.0.1:2181"
               :kafka/topic         "test1"
               :kafka/serializer-fn :taoensso.nippy/freeze})
=&gt; {(not (= (name (:kafka)) (namespace :kafka/offset-reset))) invalid-key}
:thinking_face:

lucasbradstreet 2017-11-23T00:45:51.000250Z

Try retyping the kafka offset line?

lucasbradstreet 2017-11-23T00:45:59.000152Z

Maybe it’s a weird Unicode thing?

kenny 2017-11-23T00:46:29.000095Z

Same result.

lucasbradstreet 2017-11-23T00:47:24.000124Z

Oh wait. You did it against the output task schema

kenny 2017-11-23T00:47:45.000073Z

Isn't that what it is?

lucasbradstreet 2017-11-23T00:48:17.000101Z

Oh man

lucasbradstreet 2017-11-23T00:48:33.000125Z

Offset reset is only for input tasks

kenny 2017-11-23T00:49:09.000148Z

Wow that error was wonderful

lucasbradstreet 2017-11-23T00:49:22.000016Z

I was looking at the first task the whole time.

lucasbradstreet 2017-11-23T00:51:46.000014Z

So what’s happening is that we ban any kafka namespaced keywords that aren’t in the schema for the task. It would have been hard for us to specifically check whether you had mistakenly supplied an input task option.

kenny 2017-11-23T00:53:37.000029Z

Makes sense. But still, quite the wild goose chase 😬

lucasbradstreet 2017-11-23T00:53:50.000165Z

Yeah :/

lucasbradstreet 2017-11-23T00:54:37.000049Z

Not sure how to make that one better. I could improve the error message to say disallowed kafka namespaced keyword detected but I still wouldn’t have noticed that it was on the output since I would have looked at your input task immediately

michaeldrogalis 2017-11-23T00:55:26.000106Z

Oh dear T_T

michaeldrogalis 2017-11-23T00:55:54.000129Z

I think a holiday project for me during the slow days is going to be switching this all out for Spec.

lucasbradstreet 2017-11-23T00:56:36.000155Z

kafka.input/offset-reset may have been a better namespace choice

lucasbradstreet 2017-11-23T00:59:06.000009Z

Well, that was certainly a win for Occum’s razor.

kenny 2017-11-23T01:00:19.000106Z

Haha indeed.

michaeldrogalis 2017-11-23T01:08:54.000068Z

Hah

2017-11-23T12:47:15.000355Z

I have a question regarding the balanced task scheduler. Why does it skip task allocation if more peers are available as a given job can consume? In my case, I have two peers (with some tag) but I like to use only one (max-peers). In this case the job doesn’t start at all. Why?

michaeldrogalis 2017-11-23T18:09:20.000017Z

@akiel May be a bug in the scheduler. Can you send us your job definition?

michaeldrogalis 2017-11-23T18:09:29.000040Z

The fact that it doesn't start at all sounds wrong.

2017-11-23T18:15:52.000180Z

I‘ll do that in one hour. Thanks.

michaeldrogalis 2017-11-23T18:32:17.000105Z

Np