• New Feature
  • Status: Resolved
  • 2 Major
  • Resolution: Won't Fix
  • interfaces
  • Reporter: tgautier
  • April 08, 2008
  • 2
  • Watchers: 3
  • February 12, 2014
  • February 12, 2014

Description

Motivation:

  • Give application developers a way to unblock DSO threads that are in the middle of a DSO operation.

Description:

  • Give an unblock operation that developers can inject a Runtime Exception into threads that are stuck in a DSO operation so those threads will be returned to the developers control. After this condition has been triggered, future attempts to enter DSO operations will immediately throw the Exception.

Requirements:

  • Give a JMX API that enables the developer to “unblock” any client threads that are in DSO operations. This API should accept a Runtime Exception that will be thrown for each thread.
  • The unblock operation should return an error if the client is still connected to the cluster
  • After a successful unblock operation, subsequent DSO operations will throw the Runtime Exception that was given.

Use Case:

  • a client loses it’s tcp connection to the server, all the threads would normally be blocked. Unblock these threads via some mechanism.

Comments

Josh Devins 2008-04-08

From the application’s perspective, I would even prefer (if possible) if I could, somewhere in tc-config.xml, set a timeout value on DSO operations and a RuntimeException that should be thrown when the timeout is reached. This might be a bit brute force, but I would rather handle this scenario somehow without any sort of administrator intervention, if at all possible. I think you were implying that at least…

Geert Bevin 2008-05-20

I’m wondering about the actual usefulness if DSO operations are throwing runtime exceptions. I think we should investigate implementing the disconnect as if the application was running without shared roots, locks or DMIs. While it will probably not be as easy as this, it’s worth exploring if we could hook into the ‘managed’ object detection and use the ‘unmanaged’ code paths when a client has been moved to the disconnected mode.

Also, we should discuss if clients that were disconnected can reconnect afterwards and what happens with the state that is now out of sync with the server’s state.

Fiona OShea 2008-06-11

Changing the name to DSO Detach. Based on Agreement by PM, Geert, Alex and Steve

Hung Huynh 2014-02-12

DSO is discontinued