Skip to content

Smart engine not querying prefix #1191

Closed as not planned
Closed as not planned
@mattnenterprise

Description

Environment

  • Oban Version - 2.18.3, Oban Pro - 1.5.0-rc.0
  • PostgreSQL Version - 15
  • Elixir & Erlang/OTP Versions - Elixir 1.17.3, Erlang 27.1.2

Current Behavior

If you use a prefix the smart engine won't use it for certain queries. See the following stack trace.

[error] GenServer {Oban.Registry, {Oban, {:producer, "encompass"}}} terminating
** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "oban_producers" does not exist

    query: SELECT o0."uuid", o0."name", o0."node", o0."queue", o0."started_at", o0."updated_at", o0."meta" FROM "oban_producers" AS o0 WHERE (FALSE)
    (ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:1096: Ecto.Adapters.SQL.raise_sql_call_error/1
    (ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:994: Ecto.Adapters.SQL.execute/6
    (ecto 3.12.4) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
    (ecto 3.12.4) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
    (ecto 3.12.4) lib/ecto/multi.ex:975: anonymous fn/4 in Ecto.Multi.operation_fun/2
    (ecto 3.12.4) lib/ecto/multi.ex:897: Ecto.Multi.apply_operation/5
    (elixir 1.17.3) lib/enum.ex:2531: Enum."-reduce/3-lists^foldl/2-0-"/3
    (ecto 3.12.4) lib/ecto/multi.ex:870: anonymous fn/5 in Ecto.Multi.apply_operations/5
    (ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:1400: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
    (db_connection 2.7.0) lib/db_connection.ex:1756: DBConnection.run_transaction/4
    (ecto 3.12.4) lib/ecto/repo/transaction.ex:18: Ecto.Repo.Transaction.transaction/4
    (oban 2.18.3) lib/oban/repo.ex:156: Oban.Repo.transaction/4
    (oban_pro 1.5.0-rc.0) lib/oban/pro/engines/smart.ex:567: anonymous fn/2 in Oban.Pro.Engines.Smart.fetch_jobs/3
    (oban_pro 1.5.0-rc.0) lib/oban/pro/engines/smart.ex:1486: Oban.Pro.Engines.Smart.with_retry/3
    (oban 2.18.3) lib/oban/engine.ex:234: anonymous fn/4 in Oban.Engine.fetch_jobs/3
    (oban 2.18.3) lib/oban/engine.ex:339: anonymous fn/3 in Oban.Engine.with_span/4
    (telemetry 1.3.0) /home/mmccoy/code/app/deps/telemetry/src/telemetry.erl:324: :telemetry.span/3
    (oban 2.18.3) lib/oban/queue/producer.ex:253: Oban.Queue.Producer.start_jobs/1
    (oban 2.18.3) lib/oban/queue/producer.ex:244: anonymous fn/2 in Oban.Queue.Producer.dispatch/1
    (telemetry 1.3.0) /home/mmccoy/code/app/deps/telemetry/src/telemetry.erl:324: :telemetry.span/3

Expected Behavior

The smart engine uses the configured prefix for all queries

Metadata

Assignees

No one assigned

    Labels

    area:proRelated to Oban Proclosed:duplicateThis is a duplicate issuekind:bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions