• Bug
  • Status: Open
  • 2 Major
  • Resolution:
  • mchoudha
  • Reporter: cdennis
  • April 25, 2011
  • 0
  • Watchers: 2
  • April 16, 2013

Description

The toolkit cluster-info methods that require server (L2) request, should throw InterruptedException when the calling threads are interrupted (on entry, or during). This can’t be done until we move to API 2.0, since InterruptedException is a checked exception and so adding it to a method signature is a breaking change.

Comments

Tim Eck 2011-04-25

correct me if I’m wrong but these methods are non-interruptible until we can change the signature. That is they will block indefinitely until they can complete normally and will preserve the interrupt status, but you cannot get out promptly with an interrupt()

Chris Dennis 2011-04-25

One I’ve resolved DEV-4460 that will be true yes. However the cluster-info methods do have a timeout (15 seconds) that is hard coded in the L1, so they don’t block indefinitely. Once this jira and CDV-1425 are resolved correctly (which cannot happen until we move to 2.0) these methods will throw InterruptedException if the calling thread is interrupted, and throw TimeoutException if the server does not respond within some timeout (I don’t like the hard-coding so that may change).

Nicolas Estrada 2011-06-08

Any chance this can be extended to ALL blocking methods which throw InterruptedException available from the toolkit primitives such as BlockingQueues and Lock/Conditions?

Fiona OShea 2011-12-15

Chris what should we do with this for Vicente?

Chris Dennis 2011-12-16

This can’t be changed until we move Toolkit API 2.0. As far as I’m aware that is not currently scheduled for Vicente,

Tim Eck 2011-12-16

Actually I’d be willing to bet we’ll make the 2.0 API jump in vicente but that isn’t certain by any means