You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Stephen Mallette <sp...@gmail.com> on 2021/02/17 13:05:37 UTC

[DISCUSS] Request Retries

I created this issue recently:

https://issues.apache.org/jira/browse/TINKERPOP-2517

which discusses adding a new response status code that would let users know
when it is a good idea to consider a retry of a request. Graph providers
could use this code to provide a hint when an error is likely resolvable
with time. Usually, such errors are related to locking on transactions or
some similar sort of issue. Currently users need to parse error messages to
determine when best to retry their requests which isn't so nice.

To make this new code easy to use for providers we could provide a specific
TemporaryException that could be thrown/extended or i suppose a heavier
approach would be to offer some kind of exception mapping that providers
could supply to take their custom exceptions and convert them to this form.
Not sure which we would do, but the main point would be to provide the code
itself in the protocol itself so that drivers can begin to pick it up.

I think we could add "SERVER_ERROR_TEMPORARY 596" for this purpose. I'd
imagine it would be safe to even add it to 3.4.11. Thoughts?

Re: [DISCUSS] Request Retries

Posted by Stephen Mallette <sp...@gmail.com>.
The pull request for this item is here in case it wasn't noticed:

https://github.com/apache/tinkerpop/pull/1398

On Thu, Feb 18, 2021 at 8:23 PM David Bechberger <da...@bechberger.com>
wrote:

> I think this would be a great way to allow customers to easily know if an
> error was transient and able to be retried or not.
>
> Dave
>
> On Wed, Feb 17, 2021 at 4:06 AM Stephen Mallette <sp...@gmail.com>
> wrote:
>
> > I created this issue recently:
> >
> > https://issues.apache.org/jira/browse/TINKERPOP-2517
> >
> > which discusses adding a new response status code that would let users
> know
> > when it is a good idea to consider a retry of a request. Graph providers
> > could use this code to provide a hint when an error is likely resolvable
> > with time. Usually, such errors are related to locking on transactions or
> > some similar sort of issue. Currently users need to parse error messages
> to
> > determine when best to retry their requests which isn't so nice.
> >
> > To make this new code easy to use for providers we could provide a
> specific
> > TemporaryException that could be thrown/extended or i suppose a heavier
> > approach would be to offer some kind of exception mapping that providers
> > could supply to take their custom exceptions and convert them to this
> form.
> > Not sure which we would do, but the main point would be to provide the
> code
> > itself in the protocol itself so that drivers can begin to pick it up.
> >
> > I think we could add "SERVER_ERROR_TEMPORARY 596" for this purpose. I'd
> > imagine it would be safe to even add it to 3.4.11. Thoughts?
> >
>

Re: [DISCUSS] Request Retries

Posted by David Bechberger <da...@bechberger.com>.
I think this would be a great way to allow customers to easily know if an
error was transient and able to be retried or not.

Dave

On Wed, Feb 17, 2021 at 4:06 AM Stephen Mallette <sp...@gmail.com>
wrote:

> I created this issue recently:
>
> https://issues.apache.org/jira/browse/TINKERPOP-2517
>
> which discusses adding a new response status code that would let users know
> when it is a good idea to consider a retry of a request. Graph providers
> could use this code to provide a hint when an error is likely resolvable
> with time. Usually, such errors are related to locking on transactions or
> some similar sort of issue. Currently users need to parse error messages to
> determine when best to retry their requests which isn't so nice.
>
> To make this new code easy to use for providers we could provide a specific
> TemporaryException that could be thrown/extended or i suppose a heavier
> approach would be to offer some kind of exception mapping that providers
> could supply to take their custom exceptions and convert them to this form.
> Not sure which we would do, but the main point would be to provide the code
> itself in the protocol itself so that drivers can begin to pick it up.
>
> I think we could add "SERVER_ERROR_TEMPORARY 596" for this purpose. I'd
> imagine it would be safe to even add it to 3.4.11. Thoughts?
>