Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #6341 (closed)

Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

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)

GetBlitzConnectionFlow.png (43.1 KB) - added by cxallan 8 years ago.
First version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v2.png (57.2 KB) - added by cxallan 8 years ago.
Second version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v3.png (79.0 KB) - added by cxallan 8 years ago.
Third version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v4.png (82.3 KB) - added by cxallan 8 years ago.
Fourth version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v5.png (70.8 KB) - added by cxallan 7 years ago.
Fifth version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v6.png (69.3 KB) - added by cxallan 7 years ago.
Sixth version of the connection retrieval and processing workflow

Download all attachments as: .zip

Change History (30)

comment:1 Changed 8 years ago by atarkowska

  • Description modified (diff)
  • Milestone OMERO-Beta4.3.2 deleted
  • Sprint 2011-08-04 (2) deleted

comment:2 Changed 8 years ago by atarkowska

Referencing ticket #6342 has changed sprint.

comment:3 Changed 8 years ago by atarkowska

Referencing ticket #6342 has changed sprint.

comment:4 Changed 8 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

Changed 8 years ago by cxallan

First version of the connection retrieval and processing workflow

comment:5 Changed 8 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:

  1. Removal of reliance on StoredConnection or similar by using the omero.web.public.* settings
  2. Extension of the OMERO.server share infrastructure to allow appropriate context switching in order to prevent:
    1. Username and password from being stored in the session
    2. Session creation being required for shares to be queried

comment:6 Changed 8 years ago by cxallan

  • Cc python-team@… added

Changed 8 years ago by cxallan

Second version of the connection retrieval and processing workflow

comment:7 Changed 8 years ago by cxallan

After discussion with Ola added some clarifications and the "Session key in Django request" element of the workflow.

Changed 8 years ago by cxallan

Third version of the connection retrieval and processing workflow

comment:8 Changed 8 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 8 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.

Changed 8 years ago by cxallan

Fourth version of the connection retrieval and processing workflow

comment:10 Changed 8 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 8 years ago by cxallan

Last edited 8 years ago by cxallan (previous) (diff)

comment:12 Changed 8 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.

Changed 7 years ago by cxallan

Fifth version of the connection retrieval and processing workflow

Changed 7 years ago by cxallan

Sixth version of the connection retrieval and processing workflow

comment:13 Changed 7 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 7 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 7 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 7 years ago by atarkowska

_session_logout also needs to be removed as is no longer valid

comment:17 Changed 7 years ago by atarkowska

  • Remaining Time changed from 0 to 0.2
  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:18 Changed 7 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 7 years ago by atarkowska

  • Remaining Time changed from 0.2 to 0
  • Status changed from accepted to closed

comment:20 Changed 7 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [198794a2c4e4c4f0620c30731c35ae2806cae44c/ome.git] on branch develop) removing getBlitzConnection, see #6341

comment:21 Changed 7 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [94b03977be8ce98b73fd53c50769101238878b4a/ome.git] on branch develop) removing _session_logout, see #6341

comment:22 Changed 7 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [6a8656356d75c3152c0d145d26b83ec527b5b5a4/ome.git] on branch develop) removing getBlitzConnection, see #6341

comment:23 Changed 7 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [56266bfaa45549242748da82b169b9f5c3a7d291/ome.git] on branch develop) removing _session_logout, see #6341

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.83789 sec.)

We're Hiring!