Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no match of right hand side value: [] #117

Open
Schultzer opened this issue Mar 23, 2021 · 2 comments
Open

no match of right hand side value: [] #117

Schultzer opened this issue Mar 23, 2021 · 2 comments

Comments

@Schultzer
Copy link

Hi @koudelka, we are using HoneyDew in production, for our data ingestion.
We are using the global Mnesia queue in a multi node setup running nightly jobs and we have notice this MatchError error appearing from time to time:

no match of right hand side value: []

lib/honeydew/queue/mnesia.ex:145 anonymous fn/2 in Honeydew.Queue.Mnesia.ack/2
mnesia_tm.erl:746 :mnesia_tm.non_transaction/5
lib/honeydew/queue/mnesia.ex:144 Honeydew.Queue.Mnesia.ack/2
lib/honeydew/queue.ex:235 Honeydew.Queue.do_ack/2
lib/honeydew/queue.ex:267 Honeydew.Queue.handle_cast/2
gen_server.erl:680 :gen_server.try_dispatch/4
gen_server.erl:756 :gen_server.handle_msg/6
proc_lib.erl:226 :proc_lib.init_p_do_apply/3
GenServer #PID<0.7182.0> terminating ** (stop) an exception was raised: ** (MatchError) no match of right hand side value: [] (honeydew 1.4.6) lib/honeydew/queue/mnesia.ex:145: anonymous fn/2 in Honeydew.Queue.Mnesia.ack/2 (mnesia 4.18) mnesia_tm.erl:746: :mnesia_tm.non_transaction/5 (honeydew 1.4.6) lib/honeydew/queue/mnesia.ex:144: Honeydew.Queue.Mnesia.ack/2 (honeydew 1.4.6) lib/honeydew/queue.ex:235: Honeydew.Queue.do_ack/2 (honeydew 1.4.6) lib/honeydew/queue.ex:267: Honeydew.Queue.handle_cast/2 (stdlib 3.13.2) gen_server.erl:680: :gen_server.try_dispatch/4 (stdlib 3.13.2) gen_server.erl:756: :gen_server.handle_msg/6 (stdlib 3.13.2) proc_lib.erl:226: :proc_lib.init_p_do_apply/3 (mnesia 4.18) mnesia_tm.erl:752: :mnesia_tm.non_transaction/5 (honeydew 1.4.6) lib/honeydew/queue/mnesia.ex:144: Honeydew.Queue.Mnesia.ack/2 (honeydew 1.4.6) lib/honeydew/queue.ex:235: Honeydew.Queue.do_ack/2 (honeydew 1.4.6) lib/honeydew/queue.ex:267: Honeydew.Queue.handle_cast/2 (stdlib 3.13.2) gen_server.erl:680: :gen_server.try_dispatch/4 (stdlib 3.13.2) gen_server.erl:756: :gen_server.handle_msg/6 (stdlib 3.13.2) proc_lib.erl:226: :proc_lib.init_p_do_apply/3 Last message: {:"$gen_cast", {:ack, %Honeydew.Job{by: :"redacted", completed_at: nil, delay_secs: 0, enqueued_at: 1615879481049, failure_private: nil, from: nil, job_monitor: #PID<65709.14594.2>, private: -576460752303404767, queue: {:global, :job_queue}, result: nil, started_at: 1615964552907, task: {:sync, []}}}}
@koudelka
Copy link
Owner

Hey there @Schultzer! This seems to happen when a job is "acked" (removed from the queue). The specific line indicates that the job has already been removed from the queue when the ack comes in, which is rather curious. I don't believe that the error is indicative of a violation of the "at least once" guarantee, but it could also mean that the job is being run more than once somehow. By chance, do any of your logs indicate that this might be so?

@Schultzer
Copy link
Author

By chance, do any of your logs indicate that this might be so?

Non currently, but I'll investigate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants