Task #3174 (closed)

Opened 3 years ago

Last modified 2 years ago

Remove need for update lock

Reported by: jamoore Owned by:
Priority: major Milestone: OMERO-Beta4.3
Component: Performance Keywords: n.a.
Cc: Remaining Time: n.a.
Sprint: 2011-01-13 (3) Resources: n.a.
References: n.a. Referenced By: n.a.

Description

If SessionCache were to function similarly to a ConcurrentHashMap then modifications could be made without acquiring a lock.

References

Change History

comment:1 Changed 3 years ago by jmoore

(In [8450]) Non-blocking SessionCache version (See #3174)

This rewrite of SessionCache removes all locks in favor of ConcurrentHashMaps and java.util.concurrent.atomic instances. The primary difference is that read methods will no longer wait when an update event has signaled a synchronization is required. In the extreme case, this means that it may take some time before old sessions are detected.

Since methods no longer have to wait after an administrative event, sync_interval has been increased to 120 seconds from 3.

comment:2 Changed 3 years ago by jmoore

(In [8457]) Only removing sessions forcibly after multiple exceptions (See #3174)

comment:3 Changed 3 years ago by jmoore

(In [8458]) Removing unused try/finally block in SessionCache.internalRemove (See #3174)

comment:4 Changed 2 years ago by jmoore

(In [8775/omero]) Non-blocking SessionCache version (See #3174)

This rewrite of SessionCache removes all locks in favor of ConcurrentHashMaps and java.util.concurrent.atomic instances. The primary difference is that read methods will no longer wait when an update event has signaled a synchronization is required. In the extreme case, this means that it may take some time before old sessions are detected.

Since methods no longer have to wait after an administrative event, sync_interval has been increased to 120 seconds from 3.

comment:5 Changed 2 years ago by jmoore

(In [8776/omero]) Only removing sessions forcibly after multiple exceptions (See #3174)

comment:6 Changed 2 years ago by jmoore

(In [8777/omero]) Removing unused try/finally block in SessionCache.internalRemove (See #3174)

comment:7 Changed 2 years ago by jmoore

  • Status changed from new to closed
  • Sprint set to 2011-01-13 (23)
  • Resolution set to fixed
  • Milestone changed from Unscheduled to OMERO-Beta4.3

Major refactoring of SessionCache has alleviated this.

comment:8 Changed 2 years ago by jmoore

(In [8828/omero]) Non-blocking SessionCache version (See #3174)

This rewrite of SessionCache removes all locks in favor of ConcurrentHashMaps and java.util.concurrent.atomic instances. The primary difference is that read methods will no longer wait when an update event has signaled a synchronization is required. In the extreme case, this means that it may take some time before old sessions are detected.

Since methods no longer have to wait after an administrative event, sync_interval has been increased to 120 seconds from 3.

original-svn-id:  file:///home/svn/omero/trunk@8775 05709c45-44f0-0310-885b-81a1db45b4a6

comment:9 Changed 2 years ago by jmoore

(In [8829/omero]) Only removing sessions forcibly after multiple exceptions (See #3174)

original-svn-id:  file:///home/svn/omero/trunk@87 05709c45-44f0-0310-885b-81a1db45b4a6

comment:10 Changed 2 years ago by jmoore

(In [8830/omero]) Removing unused try/finally block in SessionCache.internalRemove (See #3174)

original-svn-id:  file:///home/svn/omero/trunk@8777 05709c45-44f0-0310-885b-81a1db45b4a6

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

1.3.2-PRO © 2008-2010 agile42 all rights reserved (this page was served in: 2.204443 sec.)

We're Hiring!