[jira] [Commented] (THRIFT-1018) Add support for idempotent service requests

2019-02-04 Thread Jens Geyer (JIRA)


[ 
https://issues.apache.org/jira/browse/THRIFT-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760244#comment-16760244
 ] 

Jens Geyer commented on THRIFT-1018:


[https://github.com/grpc/grpc/issues/5471]

Never implemented, just closed. That should leave some clues.

I would do the same. Allen already hit the nail why.

> Add support for idempotent service requests
> ---
>
> Key: THRIFT-1018
> URL: https://issues.apache.org/jira/browse/THRIFT-1018
> Project: Thrift
>  Issue Type: New Feature
>  Components: Wish List
> Environment: NA
>Reporter: Tony Kinnis
>Priority: Major
>
> I would like to be able to flag service methods as idempotent and allow the 
> transport to replay idempotent requests in certain failure cases. I think 
> this would be a valuable feature for Thrift and its community of users.
> High-Level Feature Description:
> Owners of services should be able to flag a service method as idempotent in 
> the IDL. This metadata will need to make its way into the code generated by 
> the compiler. Exactly how that shows up is probably language dependent.
> The transport can then transparently replay the idempotent requests for 
> typical errors, such as connect timeout, interrupted connections, no response 
> received in timeout interval, etc. 
> The replaying of idempotent requests can be disabled/enabled via the 
> transport. In addition to enabling/disabling, the configuration could allow 
> for the number of allowed retries to be specified or even provide a delegate 
> method that decides if the retry is allowed based on the error that occurred 
> and other context. 
> In some cases retries are not desired, even if the method allows for it. In 
> this case the caller can simply disable retries. Likewise, the caller can 
> decide to only retry on a subset of the possible errors by providing a 
> delegate to the transport.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (THRIFT-1018) Add support for idempotent service requests

2019-02-04 Thread Allen George (JIRA)


[ 
https://issues.apache.org/jira/browse/THRIFT-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760185#comment-16760185
 ] 

Allen George commented on THRIFT-1018:
--

[~codesf] Not sure many people _want_ impotence :D

> Add support for idempotent service requests
> ---
>
> Key: THRIFT-1018
> URL: https://issues.apache.org/jira/browse/THRIFT-1018
> Project: Thrift
>  Issue Type: New Feature
>  Components: Wish List
> Environment: NA
>Reporter: Tony Kinnis
>Priority: Major
>
> I would like to be able to flag service methods as idempotent and allow the 
> transport to replay idempotent requests in certain failure cases. I think 
> this would be a valuable feature for Thrift and its community of users.
> High-Level Feature Description:
> Owners of services should be able to flag a service method as idempotent in 
> the IDL. This metadata will need to make its way into the code generated by 
> the compiler. Exactly how that shows up is probably language dependent.
> The transport can then transparently replay the idempotent requests for 
> typical errors, such as connect timeout, interrupted connections, no response 
> received in timeout interval, etc. 
> The replaying of idempotent requests can be disabled/enabled via the 
> transport. In addition to enabling/disabling, the configuration could allow 
> for the number of allowed retries to be specified or even provide a delegate 
> method that decides if the retry is allowed based on the error that occurred 
> and other context. 
> In some cases retries are not desired, even if the method allows for it. In 
> this case the caller can simply disable retries. Likewise, the caller can 
> decide to only retry on a subset of the possible errors by providing a 
> delegate to the transport.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (THRIFT-1018) Add support for idempotent service requests

2019-02-04 Thread Randy Abernethy (JIRA)


[ 
https://issues.apache.org/jira/browse/THRIFT-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760184#comment-16760184
 ] 

Randy Abernethy commented on THRIFT-1018:
-

Indeed, this would be complex to implement, particularly so in a generic way. 
Completely valid to want impotence but I concur with Allen, it should be an 
application layer concern.

> Add support for idempotent service requests
> ---
>
> Key: THRIFT-1018
> URL: https://issues.apache.org/jira/browse/THRIFT-1018
> Project: Thrift
>  Issue Type: New Feature
>  Components: Wish List
> Environment: NA
>Reporter: Tony Kinnis
>Priority: Major
>
> I would like to be able to flag service methods as idempotent and allow the 
> transport to replay idempotent requests in certain failure cases. I think 
> this would be a valuable feature for Thrift and its community of users.
> High-Level Feature Description:
> Owners of services should be able to flag a service method as idempotent in 
> the IDL. This metadata will need to make its way into the code generated by 
> the compiler. Exactly how that shows up is probably language dependent.
> The transport can then transparently replay the idempotent requests for 
> typical errors, such as connect timeout, interrupted connections, no response 
> received in timeout interval, etc. 
> The replaying of idempotent requests can be disabled/enabled via the 
> transport. In addition to enabling/disabling, the configuration could allow 
> for the number of allowed retries to be specified or even provide a delegate 
> method that decides if the retry is allowed based on the error that occurred 
> and other context. 
> In some cases retries are not desired, even if the method allows for it. In 
> this case the caller can simply disable retries. Likewise, the caller can 
> decide to only retry on a subset of the possible errors by providing a 
> delegate to the transport.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (THRIFT-1018) Add support for idempotent service requests

2019-02-04 Thread Allen George (JIRA)


[ 
https://issues.apache.org/jira/browse/THRIFT-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760169#comment-16760169
 ] 

Allen George commented on THRIFT-1018:
--

I don't think it's worthwhile to support this. It would only work for the 
simplest cases, and my guess is that you'd encode these semantics into the 
application logic (which, IMO - is where it properly belongs).

> Add support for idempotent service requests
> ---
>
> Key: THRIFT-1018
> URL: https://issues.apache.org/jira/browse/THRIFT-1018
> Project: Thrift
>  Issue Type: New Feature
>  Components: Wish List
> Environment: NA
>Reporter: Tony Kinnis
>Priority: Major
>
> I would like to be able to flag service methods as idempotent and allow the 
> transport to replay idempotent requests in certain failure cases. I think 
> this would be a valuable feature for Thrift and its community of users.
> High-Level Feature Description:
> Owners of services should be able to flag a service method as idempotent in 
> the IDL. This metadata will need to make its way into the code generated by 
> the compiler. Exactly how that shows up is probably language dependent.
> The transport can then transparently replay the idempotent requests for 
> typical errors, such as connect timeout, interrupted connections, no response 
> received in timeout interval, etc. 
> The replaying of idempotent requests can be disabled/enabled via the 
> transport. In addition to enabling/disabling, the configuration could allow 
> for the number of allowed retries to be specified or even provide a delegate 
> method that decides if the retry is allowed based on the error that occurred 
> and other context. 
> In some cases retries are not desired, even if the method allows for it. In 
> this case the caller can simply disable retries. Likewise, the caller can 
> decide to only retry on a subset of the possible errors by providing a 
> delegate to the transport.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (THRIFT-1018) Add support for idempotent service requests

2019-02-01 Thread James E. King III (JIRA)


[ 
https://issues.apache.org/jira/browse/THRIFT-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16758781#comment-16758781
 ] 

James E. King III commented on THRIFT-1018:
---

The closest thing would be to attempt to retry a request with the same sequence 
number, but thrift has no debouncing notions on the server side like, say, NFS 
does.

> Add support for idempotent service requests
> ---
>
> Key: THRIFT-1018
> URL: https://issues.apache.org/jira/browse/THRIFT-1018
> Project: Thrift
>  Issue Type: New Feature
>  Components: Wish List
> Environment: NA
>Reporter: Tony Kinnis
>Priority: Major
>
> I would like to be able to flag service methods as idempotent and allow the 
> transport to replay idempotent requests in certain failure cases. I think 
> this would be a valuable feature for Thrift and its community of users.
> High-Level Feature Description:
> Owners of services should be able to flag a service method as idempotent in 
> the IDL. This metadata will need to make its way into the code generated by 
> the compiler. Exactly how that shows up is probably language dependent.
> The transport can then transparently replay the idempotent requests for 
> typical errors, such as connect timeout, interrupted connections, no response 
> received in timeout interval, etc. 
> The replaying of idempotent requests can be disabled/enabled via the 
> transport. In addition to enabling/disabling, the configuration could allow 
> for the number of allowed retries to be specified or even provide a delegate 
> method that decides if the retry is allowed based on the error that occurred 
> and other context. 
> In some cases retries are not desired, even if the method allows for it. In 
> this case the caller can simply disable retries. Likewise, the caller can 
> decide to only retry on a subset of the possible errors by providing a 
> delegate to the transport.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)