Page MenuHomeSoftware Heritage

Make the RPC client raise a specific exception class on 503
ClosedPublic

Authored by vlorentz on Aug 9 2022, 11:15 AM.

Details

Summary

This will be used to make the storage retry proxy retry harder
when the storage server raises errors like psycopg2.OperationalError;
which last longer than we want the proxy to retry for typical
exceptions.

Depends on D8219 and D8220.

Diff Detail

Repository
rDCORE Foundations and core functionalities
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Build is green

Patch application report for D8221 (id=29656)

Could not rebase; Attempt merge onto 2d1cd6af71...

Updating 2d1cd6a..e06de3a
Fast-forward
 swh/core/api/__init__.py              | 59 +++++++++++++---------------
 swh/core/api/tests/test_rpc_client.py | 37 ++++++++----------
 swh/core/api/tests/test_rpc_server.py | 72 ++++++++++++++++++++++++++++++++++-
 3 files changed, 114 insertions(+), 54 deletions(-)
Changes applied before test
commit e06de3a63b20a685e3acbd26e02ef8353da17fa2
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:15:05 2022 +0200

    Make the RPC client raise a specific exception class on 503
    
    This will be used to make the storage retry proxy retry harder
    when the storage server raises errors like psycopg2.OperationalError;
    which last longer than we want the proxy to retry for typical
    exceptions.

commit c75ab14ccdc007fa465e421b6aa4290243da96b9
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:12:34 2022 +0200

    Add tests for RPC server's exception handling

commit e6497914d42b1f1e36e2850f53e8b9a04443cbe8
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 10:48:22 2022 +0200

    Remove support for deprecated exception format
    
    It was removed from all RPC servers years ago.

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/464/ for more details.

Build is green

Patch application report for D8221 (id=29660)

Could not rebase; Attempt merge onto 2d1cd6af71...

Updating 2d1cd6a..293bd56
Fast-forward
 swh/core/api/__init__.py              | 59 +++++++++++++---------------
 swh/core/api/tests/test_rpc_client.py | 37 ++++++++----------
 swh/core/api/tests/test_rpc_server.py | 74 ++++++++++++++++++++++++++++++++++-
 3 files changed, 115 insertions(+), 55 deletions(-)
Changes applied before test
commit 293bd5650c67b53e922b3a994ec368607f9c8574
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:15:05 2022 +0200

    Make the RPC client raise a specific exception class on 503
    
    This will be used to make the storage retry proxy retry harder
    when the storage server raises errors like psycopg2.OperationalError;
    which last longer than we want the proxy to retry for typical
    exceptions.

commit 9848432cd77adec649e397c16e76ff8e5865699d
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:12:34 2022 +0200

    Add tests for RPC server's exception handling

commit e6497914d42b1f1e36e2850f53e8b9a04443cbe8
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 10:48:22 2022 +0200

    Remove support for deprecated exception format
    
    It was removed from all RPC servers years ago.

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/466/ for more details.

Build is green

Patch application report for D8221 (id=29663)

Could not rebase; Attempt merge onto 2d1cd6af71...

Updating 2d1cd6a..a0e61ab
Fast-forward
 swh/core/api/__init__.py              | 59 +++++++++++++---------------
 swh/core/api/tests/test_rpc_client.py | 37 ++++++++----------
 swh/core/api/tests/test_rpc_server.py | 74 ++++++++++++++++++++++++++++++++++-
 3 files changed, 115 insertions(+), 55 deletions(-)
Changes applied before test
commit a0e61ab86973f5df3054bd7b343daf59a03415d0
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:15:05 2022 +0200

    Make the RPC client raise a specific exception class on 503
    
    This will be used to make the storage retry proxy retry harder
    when the storage server raises errors like psycopg2.OperationalError;
    which last longer than we want the proxy to retry for typical
    exceptions.

commit 9848432cd77adec649e397c16e76ff8e5865699d
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 11:12:34 2022 +0200

    Add tests for RPC server's exception handling

commit e6497914d42b1f1e36e2850f53e8b9a04443cbe8
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Tue Aug 9 10:48:22 2022 +0200

    Remove support for deprecated exception format
    
    It was removed from all RPC servers years ago.

See https://jenkins.softwareheritage.org/job/DCORE/job/tests-on-diff/467/ for more details.

olasd added a subscriber: olasd.

LGTM, thanks!

This revision is now accepted and ready to land.Aug 16 2022, 11:13 AM