Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
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 13 years ago

Closed 12 years ago

Last modified 12 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 12 years ago.
First version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v2.png (57.2 KB) - added by cxallan 12 years ago.
Second version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v3.png (79.0 KB) - added by cxallan 12 years ago.
Third version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v4.png (82.3 KB) - added by cxallan 12 years ago.
Fourth version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v5.png (70.8 KB) - added by cxallan 12 years ago.
Fifth version of the connection retrieval and processing workflow
GetBlitzConnectionFlow_v6.png (69.3 KB) - added by cxallan 12 years ago.
Sixth version of the connection retrieval and processing workflow

Download all attachments as: .zip

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

Referencing ticket #6342 has changed sprint.

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

Changed 12 years ago by cxallan

First version of the connection retrieval and processing workflow

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:

  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 12 years ago by cxallan

  • Cc python-team@… added

Changed 12 years ago by cxallan

Second version of the connection retrieval and processing workflow

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.

Changed 12 years ago by cxallan

Third version of the connection retrieval and processing 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.

Changed 12 years ago by cxallan

Fourth version of the connection retrieval and processing workflow

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

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

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.

Changed 12 years ago by cxallan

Fifth version of the connection retrieval and processing workflow

Changed 12 years ago by cxallan

Sixth version of the connection retrieval and processing workflow

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

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.72311 sec.)

We're Hiring!