RedHatInsights / yggdrasil

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RPC error - wrong number of arguments

ezr-ondrej opened this issue · comments

yggdrasil version: 0.1.4

dispatcher.go:309: rpc error: code = Unknown desc = ArgumentError: wrong number of argumets (given 2, expected 1)

I believe the error is here:

_, err = c.Send(ctx, &msg)

Here is the simple client I'm using: https://github.com/ezr-ondrej/foreman_ygg_worker

The gRPC proto has been generated from protocol in this repository, so eighter the proto is wrong or the bug is in the code?

Could you set log-level = trace in /etc/yggdrasil/config.toml (or /etc/rhc/config.toml, if you're using the rhc RPM), and attach the output?

Hi, sorry it took a bit of time, here is a relevant snippet:

Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.DataProcessor] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/data_processor.go:156: HandleDataRecvSignal
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.DataProcessor] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/data_processor.go:156: received value: "41a3d36f-c590-4c07-8e95-11fb4b8f8505"
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.DataProcessor] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/data_processor.go:156: emitted signal "data-process"
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.DataProcessor] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/data_processor.go:156: emitted value: "41a3d36f-c590-4c07-8e95-11fb4b8f8505"
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.Dispatcher] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/dispatcher.go:309: HandleDataProcessSignal
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.Dispatcher] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/dispatcher.go:309: emitted value: "41a3d36f-c590-4c07-8e95-11fb4b8f8505"
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.Dispatcher] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/dispatcher.go:309: dialing worker foreman
Apr 30 06:03:19 yggclien.oezr-fedora.example.com yggdrasild[11085]: [yggdrasild] [*yggdrasil.Dispatcher] 2021/04/30 06:03:19 /builddir/build/BUILD/yggdrasil-0.1.4-0.7.git.9789afc/dispatcher.go:309: rpc error: code = Unknown desc = ArgumentError: wrong number of arguments (given 2, expected 1)

Full log: https://pastebin.com/0sASLXv0

My bad, this was caused by missing call param, that's passed by gRPC. Fixed in ezr-ondrej/foreman_ygg_worker@0150e1a

Oh wow. That looks to be an idiosyncrasy of the Ruby gRPC package, perhaps? Is _call a callback handler function? I can't see it defined anywhere in foreman_worker.

well... it is abuse of ruby's dynamic programing IMHO. You don't define the Service classes that will be actually used, but you define classes, that will generate the classes, you end up using. It is very confusing.

From what I understood in documentation, it is used for streaming. I guess you can get other information about the message from the _call.