Task #5724 (closed)
Opened 13 years ago
Closed 13 years ago
Bug: BlitzGateway may need locking
Reported by: | jamoore | Owned by: | wmoore |
---|---|---|---|
Priority: | critical | Milestone: | OMERO-Beta4.3 |
Component: | Documentation | Version: | n.a. |
Keywords: | n.a. | Cc: | python-team@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | 2011-06-16 (14) |
Description
Looking at setSecure (#5723), use of BlitzGateway may be highly thread-unsafe.
Has this been discussed and/or documented?
Change History (5)
comment:1 Changed 13 years ago by jmoore
- Component changed from OmeroPy to Documentation
- Owner set to wmoore
comment:2 Changed 13 years ago by jmoore
- Sprint set to 2011-06-16 (14)
comment:3 Changed 13 years ago by wmoore
How to find the list of states that the client holds?
Is this Documentation for users or devs (or both)?
comment:4 Changed 13 years ago by jmoore
The state I was talking about was primarily all of the service references in the self.proxies map. Those (and things like it) become stale when the connection is broken.
The documentation is for anyone who will be using omero.gateway.
comment:5 Changed 13 years ago by wmoore
- Resolution set to fixed
- Status changed from new to closed
Added this text to OmeroPy/Gateway....:
The Blitz gateway was designed for use in the OmeroWeb framework and it is not expected that stateful services will be maintained on the client for significant time. There is various error-handling functionality in the Blitz gateway that will close existing services and recreate them in order to maintain a working connection. If this happens then any stateful services that you have on the client-side will become stale. We will attempt to document this a little better in due course, but our general advice is to create, use and close the stateful services in the shortest practicable time.
For 4.3.0, we should clearly document the concurrency issues in BlitzGateway since the conn object holds a lot of state that becomes stale on an automatic-logout. We should also create new tickets for any code changes made in later versions.