Closed jesseduffield closed 1 week ago
That's strange! That looks like a Batch callback job tried to run, and it was unable to load the associated Batch record out of the database.
Are you still experiencing the error / did that job ever successfully complete?
It's possible this was related to your DB outage. Normally though the cause
of that exception would look something like (example):
ActiveJob::DeserializationError: Error while trying to deserialize arguments: PG::ConnectionBad: PQsocket() can't get socket descriptor`
I'm no longer experiencing the error, so the issue may indeed have been specific to the outage. I'm happy to close this and report back if it happens again.
@bensheldon I've just had this error happen again: this time without any outage or DB issues. I'm wondering if the cause could be due to a job in the batch retrying for a while before finally succeeding? Perhaps the batch is cleaned up in the meantime, so that when the retrying job eventually succeeds, the batch is gone?
Hmm. That's definitely possible if the batch callback job doesn't successfully complete before the batch is deleted. The default time to preserve jobs (the same setting is used for batches) is 2 weeks.
I'm getting this error on some of my batch callback jobs:
{"_aj_globalid"=>"gid://subble-api/GoodJob::Batch/e4b54d15-a2a4-4778-bf3c-5ce1de3f366f"}, {"event"=>{"value"=>"finish", "_aj_serialized"=>"ActiveJob::Serializers::SymbolSerializer"}, "_aj_symbol_keys"=>["event"]}
Error:
ActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn't find GoodJob::BatchRecord with 'id'=e4b54d15-a2a4-4778-bf3c-5ce1de3f366f
This happened when I was having some DB outage issues, not sure if it's related.