|Re: [cdt-dev] [DSF] timeouts|
There are two issues here:1) Should there be a timeout mechanism for MI commands that do not complete in a timely fashion. 2) Fault tolerance for asynchronous calls not being completed due to programming errors.
For first issue a timeout seems like an appropriate solution. The timeout could be specified at command creation and handled by the command control service. In other cases a timeout at the query may be appropriate as well. For the second issue we definitely need some improvement, though I'm not sure if timeouts are an appropriate solution. The problem with timeout is that you have to specify a timeout value that is large enough that it won't get triggered accidentally on a heavily loaded systems, but small enough that it won't appear as if the UI was hanging. Another option to add fault tolerance for async calls would be to instrument the DSF executor better to detect when a request monitor is being orphaned due to a runtime exception. This wouldn't be a complete fix, but it would probably cover most of the cases of uncompleted async. calls we see now. Finally the best way to add fault tolerance is to improve the automated testing ;-)
Cheers, Pawel On 06/23/2010 06:53 AM, Marc Khouzam wrote:
Yes, I'm starting to be concerned about our lack of 'timeout' support. This is a question for DSF in general I believe. Currently, most calls are asynchronous and are left to complete whenever they do, if at all. However, some calls are done within a synchronous DSF Query, and executed in the UI-thread. If any of those don't complete, we are in trouble. The Query class provides with a get(long timeout, TimeUnit unit) which we should probably use in those cases. Outside those UI-thread cases, I believe we could still hang a view if a command never complete and the update.done() is never called. Isn't that the case? Marc-----Original Message----- From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of John Cortell Sent: Wednesday, June 23, 2010 8:11 AM To: CDT General developers list.; 'cdt-dev@xxxxxxxxxxx' Subject: Re: [cdt-dev] [DSF] timeouts See https://bugs.eclipse.org/bugs/show_bug.cgi?id=310274#c23 This is a discussion we tabled until after Helios. Maybe now is a good time to return to it. John At 04:53 AM 6/23/2010, Vladimir Prus wrote:Does DSF have a mechanism to timeout when a command takes too much time? One case I've run into right now is failure to call done on a request monitor. Another viable case is when a target is stuck for whatever reason. I could not find any provisious for marking an operation failed after a while -- have I missed something? Thanks, -- Vladimir Prus CodeSourcery vladimir@xxxxxxxxxxxxxxxx (650) 331-3385 x722 _______________________________________________ cdt-dev mailing list cdt-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/cdt-dev_______________________________________________ cdt-dev mailing list cdt-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/cdt-dev _______________________________________________cdt-dev mailing list cdt-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/cdt-dev
Back to the top