Skip to Content

Contributors

Increased Queue Job Failures – Need Advice

Hello everyone,

We use queue jobs in our Odoo 14 instance for various operations, and they have worked well so far. However, we've recently noticed an increasing number of failures with the following errors:

  1. psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block
  2. psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update

This issue may have started after updating the queue_job module to the latest version in branch 14.0, though we're not certain. No other changes have been made to our server configuration.

Since we’re unsure how to resolve this, does anyone have experience with this module and the best server configuration for handling parallel job execution? The errors typically occur when multiple jobs run in parallel or when users work on the same models as the running jobs.

Any insights or recommendations would be greatly appreciated!

Thanks,

Emanuel

by "Emanuel Cino" <emanuel@compassion.ch> - 11:01 - 13 Feb 2025

Follow-Ups

  • Re: Increased Queue Job Failures – Need Advice
    I am a big fan of

    except SerializationFailure as e:
        _logger.exception(e)
        raise RetryableJobError(e)

    Beware side effects (third party service calls, file system operations)!

    On Thu, Feb 13, 2025 at 7:03 AM Jacques-Etienne Baudoux <notifications@odoo-community.org> wrote:
    Indeed, configure a smaller amount of workers for that specific channel. I think the max retry was not respected in the past, so that failing jobs were always restarted in case of SerializationFailure.

    Le jeu. 13 févr. 2025 à 11:47, Graeme Gellatly <notifications@odoo-community.org> a écrit :
    It is a serialization failure. There isn't much (sensible) you can do but use a smaller queue (say 1 channel) for those jobs. If the row is locked or the table is locked, it is locked. If it really matters, and it must be parallel well you need to really dig into the methods, work out when locks are taken, when they are released and optimise the sh!t out of that portion that code. If you can't then you start to get in queuing rights, dropping ACID commitments within transaction etc.

    On Thu, Feb 13, 2025 at 11:02 PM Emanuel Cino <notifications@odoo-community.org> wrote:
    Hello everyone,

    We use queue jobs in our Odoo 14 instance for various operations, and they have worked well so far. However, we've recently noticed an increasing number of failures with the following errors:

    1. psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block
    2. psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update

    This issue may have started after updating the queue_job module to the latest version in branch 14.0, though we're not certain. No other changes have been made to our server configuration.

    Since we’re unsure how to resolve this, does anyone have experience with this module and the best server configuration for handling parallel job execution? The errors typically occur when multiple jobs run in parallel or when users work on the same models as the running jobs.

    Any insights or recommendations would be greatly appreciated!

    Thanks,

    Emanuel

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Adam Heinz - 02:41 - 13 Feb 2025
  • Re: Increased Queue Job Failures – Need Advice
    Indeed, configure a smaller amount of workers for that specific channel. I think the max retry was not respected in the past, so that failing jobs were always restarted in case of SerializationFailure.

    Le jeu. 13 févr. 2025 à 11:47, Graeme Gellatly <notifications@odoo-community.org> a écrit :
    It is a serialization failure. There isn't much (sensible) you can do but use a smaller queue (say 1 channel) for those jobs. If the row is locked or the table is locked, it is locked. If it really matters, and it must be parallel well you need to really dig into the methods, work out when locks are taken, when they are released and optimise the sh!t out of that portion that code. If you can't then you start to get in queuing rights, dropping ACID commitments within transaction etc.

    On Thu, Feb 13, 2025 at 11:02 PM Emanuel Cino <notifications@odoo-community.org> wrote:
    Hello everyone,

    We use queue jobs in our Odoo 14 instance for various operations, and they have worked well so far. However, we've recently noticed an increasing number of failures with the following errors:

    1. psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block
    2. psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update

    This issue may have started after updating the queue_job module to the latest version in branch 14.0, though we're not certain. No other changes have been made to our server configuration.

    Since we’re unsure how to resolve this, does anyone have experience with this module and the best server configuration for handling parallel job execution? The errors typically occur when multiple jobs run in parallel or when users work on the same models as the running jobs.

    Any insights or recommendations would be greatly appreciated!

    Thanks,

    Emanuel

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Jacques-Etienne Baudoux - 02:01 - 13 Feb 2025
  • Re: Increased Queue Job Failures – Need Advice
    It is a serialization failure. There isn't much (sensible) you can do but use a smaller queue (say 1 channel) for those jobs. If the row is locked or the table is locked, it is locked. If it really matters, and it must be parallel well you need to really dig into the methods, work out when locks are taken, when they are released and optimise the sh!t out of that portion that code. If you can't then you start to get in queuing rights, dropping ACID commitments within transaction etc.

    On Thu, Feb 13, 2025 at 11:02 PM Emanuel Cino <notifications@odoo-community.org> wrote:
    Hello everyone,

    We use queue jobs in our Odoo 14 instance for various operations, and they have worked well so far. However, we've recently noticed an increasing number of failures with the following errors:

    1. psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block
    2. psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update

    This issue may have started after updating the queue_job module to the latest version in branch 14.0, though we're not certain. No other changes have been made to our server configuration.

    Since we’re unsure how to resolve this, does anyone have experience with this module and the best server configuration for handling parallel job execution? The errors typically occur when multiple jobs run in parallel or when users work on the same models as the running jobs.

    Any insights or recommendations would be greatly appreciated!

    Thanks,

    Emanuel

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Graeme Gellatly - 11:46 - 13 Feb 2025