sorentwo / oban

💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
https://getoban.pro
Apache License 2.0
3.17k stars 297 forks source link

Tests failing since upgrade from 2.17.7 to 2.17.9 #1072

Closed tomtaylor closed 2 months ago

tomtaylor commented 2 months ago

Environment

Current Behavior

Our tests have started failing with the following stacktrace:

1st argument: not a pid

    (erts 14.2.1) :erlang.process_info(Redacted.Broadway.Broadway.ProcessorSupervisor, :dictionary)
    (elixir 1.16.0) lib/process.ex:860: Process.info/2
    (oban 2.17.9) lib/oban/config.ex:167: Oban.Config.inline_testing?/2
    (elixir 1.16.0) lib/enum.ex:4202: Enum.predicate_list/3
    (oban 2.17.9) lib/oban/config.ex:159: Oban.Config.get_engine/1
    (oban 2.17.9) lib/oban/engine.ex:317: anonymous fn/3 in Oban.Engine.with_span/4
    (telemetry 1.2.1) /home/circleci/project/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (redacted 0.0.1) lib/[redacted].ex:46: Redacted/1
    (redacted 0.0.1) lib/[redacted].ex:155: Redacted/1
    (redacted 0.0.1) lib/[redacted].ex:114: Redacted.Broadway.process_message/1
    (redacted 0.0.1) lib/[redacted].ex:50: Redacted.handle_message/3
    (broadway 1.0.7) lib/broadway/topology/processor_stage.ex:159: anonymous fn/6 in Broadway.Topology.ProcessorStage.handle_messages/4
    (telemetry 1.2.1) /home/circleci/project/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (broadway 1.0.7) lib/broadway/topology/processor_stage.ex:146: Broadway.Topology.ProcessorStage.handle_messages/4
    (broadway 1.0.7) lib/broadway/topology/processor_stage.ex:65: anonymous fn/2 in Broadway.Topology.ProcessorStage.handle_events/3
    (telemetry 1.2.1) /home/circleci/project/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (gen_stage 1.2.1) lib/gen_stage.ex:2578: GenStage.consumer_dispatch/6
    (gen_stage 1.2.1) lib/gen_stage.ex:2767: GenStage.take_pc_events/3
    (stdlib 5.2) gen_server.erl:1095: :gen_server.try_handle_info/3
    (stdlib 5.2) gen_server.erl:1183: :gen_server.handle_msg/6

This looks like Oban's testing utilities maybe don't support named PIDs, or there's some kind of other conflict with Telemetry or Broadway?

Expected Behavior

Testing behaves as before.

sorentwo commented 2 months ago

This is fixed on main and a patch will be released in the next day or so.

tomtaylor commented 2 months ago

Doh! Checked the CHANGELOG but didn't think to check main. Thanks!