Task #6341 (closed)
getBlitzConnection review
Reported by: | atarkowska | Owned by: | atarkowska |
---|---|---|---|
Priority: | critical | Milestone: | OMERO-4.4 |
Component: | Web | Version: | n.a. |
Keywords: | n.a. | Cc: | python-team@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | 0.0d |
Sprint: | 2012-04-24 (13) |
Description (last modified by atarkowska)
webgateway.getBlitzConnection handle many different ways of creating and storing connection. This needs to be reviewed.
Currently there are three ways of creating connection:
- A per-process dictionary of StoredConnection? based connections (key = "C:$base") is kept.
- A per-process dictionary of session created connections (key = "S:$session_id") is kept.
- Another set of connections (key = "C:$server_id") is also kept, for creating 'guest' connections using with_session=False.
Attachments (6)
Change History (30)
comment:1 Changed 13 years ago by atarkowska
- Description modified (diff)
- Milestone OMERO-Beta4.3.2 deleted
- Sprint 2011-08-04 (2) deleted
comment:2 Changed 13 years ago by atarkowska
comment:3 Changed 13 years ago by atarkowska
Referencing ticket #6342 has changed sprint.
comment:4 Changed 12 years ago by cxallan
- Component changed from General to Web
- Milestone set to OMERO-Beta4.4
- Owner changed from atarkowska to cxallan
- Priority changed from minor to critical
- Remaining Time set to 1.5
- Sprint set to 2012-01-31 (7)
- Status changed from new to accepted
comment:5 Changed 12 years ago by cxallan
- Remaining Time changed from 1.5 to 1.0
Attached is now a connection retrieval flow chart that attempts to, at least at a high level, explain the process that must be undertaken to adequately retrieve, validate and keep alive an OMERO.web/OMERO.server connection pair. In order for this to work adequately, the following must be achieved:
- Removal of reliance on StoredConnection or similar by using the omero.web.public.* settings
- Extension of the OMERO.server share infrastructure to allow appropriate context switching in order to prevent:
- Username and password from being stored in the session
- Session creation being required for shares to be queried
comment:6 Changed 12 years ago by cxallan
- Cc python-team@… added
comment:7 Changed 12 years ago by cxallan
After discussion with Ola added some clarifications and the "Session key in Django request" element of the workflow.
comment:8 Changed 12 years ago by jmoore
- Sprint changed from 2012-01-31 (7) to 2012-02-14 (8)
Moved from sprint 2012-01-31 (7)
comment:9 Changed 12 years ago by cxallan
- Remaining Time changed from 1.0 to 0.25
An initial version of the new decorator based connection handling logic is now available on my decorator branch:
I'll update the diagram with some further workflow information as soon as I get a chance.
comment:10 Changed 12 years ago by cxallan
Some additional work was also done by Carlos, which should be reviewed to make sure everything is covered in the following pull request:
comment:11 Changed 12 years ago by cxallan
Also to be taken into account:
comment:12 Changed 12 years ago by cxallan
- Remaining Time changed from 0.25 to 0
- Resolution set to fixed
- Status changed from accepted to closed
Review complete. Functional decorator now in the 6343_conn_decorator branch. Integration example with OMERO.web in a new branch 6342_integration.
comment:13 Changed 12 years ago by atarkowska
- Remaining Time 0 deleted
- Resolution fixed deleted
- Status changed from closed to reopened
While the inactive user tries to log in to the omero the error SecurityViolation? exception (serverStackTrace = ome.conditions.SecurityViolation?: No matching roles found in [guest] for session de58efec-6f18-4819-9f9d-1a02c7202db7 (allowed: [user])) could be handled better that rather then throw the exception. see #4245
comment:14 Changed 12 years ago by wmoore
- Resolution set to fixed
- Status changed from reopened to closed
This is now implemented. Only remaining task is docs: #8545.
Closing...
comment:15 Changed 12 years ago by atarkowska
- Remaining Time set to 0
Reopening as getBlitzConnection is still in the webgateway code. I will remove it from the code.
comment:16 Changed 12 years ago by atarkowska
_session_logout also needs to be removed as is no longer valid
comment:17 Changed 12 years ago by atarkowska
- Remaining Time changed from 0 to 0.2
- Resolution fixed deleted
- Status changed from closed to reopened
comment:18 Changed 12 years ago by atarkowska
- Owner changed from cxallan to atarkowska
- Sprint changed from 2012-02-14 (8) to 2012-04-24 (13)
- Status changed from reopened to accepted
comment:19 Changed 12 years ago by atarkowska
- Remaining Time changed from 0.2 to 0
- Status changed from accepted to closed
comment:20 Changed 12 years ago by Aleksandra Tarkowska <A.Tarkowska@…>
(In [198794a2c4e4c4f0620c30731c35ae2806cae44c/ome.git] on branch develop) removing getBlitzConnection, see #6341
comment:21 Changed 12 years ago by Aleksandra Tarkowska <A.Tarkowska@…>
(In [94b03977be8ce98b73fd53c50769101238878b4a/ome.git] on branch develop) removing _session_logout, see #6341
comment:22 Changed 12 years ago by Aleksandra Tarkowska <A.Tarkowska@…>
(In [6a8656356d75c3152c0d145d26b83ec527b5b5a4/ome.git] on branch develop) removing getBlitzConnection, see #6341
comment:23 Changed 12 years ago by Aleksandra Tarkowska <A.Tarkowska@…>
(In [56266bfaa45549242748da82b169b9f5c3a7d291/ome.git] on branch develop) removing _session_logout, see #6341
comment:24 Changed 12 years ago by wmoore
Docs for this workflow are now at http://trac.openmicroscopy.org.uk/ome/wiki/OmeroWeb/WritingViews
Referencing ticket #6342 has changed sprint.