sorentwo/oban

Tests failing since upgrade from 2.17.7 to 2.17.9

tomtaylor opened this issue · 2 comments

Environment

  • Oban Version: 2.17.9
  • PostgreSQL Version: 16.1
  • Elixir & Erlang/OTP Versions (elixir --version): 1.16.0

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.

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

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