eiffel-community / etos

Eiffel Test Orchestration System
https://etos.readthedocs.io
Apache License 2.0
9 stars 6 forks source link

GQL and etos library retry don't work well together #169

Closed t-persson closed 1 year ago

t-persson commented 1 year ago

Description

Create a new gql client for each GraphQL request.

Motivation

The new gql version does not allow us to re-use the transport and crashes with a TransportAlreadyConnected exception https://github.com/graphql-python/gql/blob/master/gql/transport/requests.py#L106 which causes the ETOS library retry method to crash.

Exemplification

When ETOS needs to retry queries because an event has not arrived at the event repository everything would just crash with the above mentioned exception.

Benefits

Retry will work as expected.

Possible Drawbacks

We would create new transports every time, but then again it doesn't work right now so it needs to be done.