Component
API Server / GraphQL
Task Description
When running concurrent GraphQL queries that fetches a cardinality many relationship with a lot of peers, we can end up in a situation where we exhaust Neo4j's client thread pool; thus throwing a TransientError to the user.
We already have the retry_db_transaction decorator that handles such transient errors but it's mostly applied to mutations. We should also use it for the many_relationship_resolver and make the retries smoother (by implementing exponential backoff retries?)
Component
API Server / GraphQL
Task Description
When running concurrent GraphQL queries that fetches a cardinality many relationship with a lot of peers, we can end up in a situation where we exhaust Neo4j's client thread pool; thus throwing a TransientError to the user.
We already have the
retry_db_transactiondecorator that handles such transient errors but it's mostly applied to mutations. We should also use it for the many_relationship_resolver and make the retries smoother (by implementing exponential backoff retries?)