There is a race condition with memcache, which happens if someone refreshes the cache after it was cleared (e.g. reloading a page), before the transaction in cps_publish_changeset() and cps_revert_changeset() is committed.
The fix should be to move hook_cps_changeset_published() out of the transaction, which is a breaking change.

Comments

marco created an issue. See original summary.

marco’s picture

- move hook_cps_changeset_published() out of the transaction
- add a new hook_cps_changeset_published_before_transaction_end() hook
- minor cleanup (constant)

fabianx’s picture

Priority: Normal » Critical

This is major / critical. Leaving as critical for now.

fabianx’s picture

Status: Active » Reviewed & tested by the community

Also RTBC

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 2: cps-memcache-race-condition-2971655-2.patch, failed testing. View results

marco’s picture

Status: Needs work » Needs review
StatusFileSize
new3.67 KB

fixed paths.

Status: Needs review » Needs work

The last submitted patch, 6: cps-memcache-race-condition-2971655-6.patch, failed testing. View results

  • hadsie committed eddba0a on 7.x-1.x authored by marco
    Issue #2971655 by marco: Race condition with memcache module
    
hadsie’s picture

Status: Needs work » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.