Skip to content

Parallel request to replay dead job enqueues same job twice in the ready queue (in redis) #179

Description

@alishamohanty

Describe the bug

Parallel request to replay dead job enqueues same job twice in the ready queue.

To Reproduce

(deftest parallel-replay-same-job
  (testing "Check the output for parallel prioritisation and deletion"
    (f/create-jobs {:dead 1})
    (let [[job] (dead-jobs/get-by-range tu/redis-conn 0 0)
          response (pcalls (fn [] (dead-jobs/replay-job tu/redis-conn job)) (fn [] (dead-jobs/replay-job tu/redis-conn job)))

          _ (println response)
          _ (println (enqueued-jobs/get-by-range tu/redis-conn tu/queue 0 10));; 2 jobs
          _ (println (enqueued-jobs/size tu/redis-conn tu/queue)) ;; 2
          _ (println (dead-jobs/get-by-range tu/redis-conn 0 10))]))) ;; 0

Versions

  1. Goose: 0.5.1
  2. Clojure: 1.11.0

Screenshots

If applicable, add screenshots to help explain your problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions