Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4566

Consistency in PersistenceManager and Cache is not guaranteed

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      Currently the store method in the CachingPersistenceManagerProxy performs an update on the PersistenceManager and then also updates the Cache.

      Since we are updating 2 resources, without any form of synchronisation its possible that the resources are out of sync.

      For example:

      Two threads A and B call configuration.update() on the same pid. The first threads calls store(), the PersistenceManager gets updated and then the second thread kicks in updates both PersistenceManager and the cache and finally the first thread updates the cache.

      Attachments

        1. FELIX-4566.patch
          6 kB
          Ioannis Canellos
        2. FELIX-4566-2.patch
          6 kB
          Ioannis Canellos
        3. FELIX-45661-global-lock.patch
          5 kB
          Ioannis Canellos

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gnodet Guillaume Nodet
            iocanel Ioannis Canellos
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment