Support » Plugin: Redis Object Cache » Implications of installation

  • Resolved David Anderson

    (@davidanderson)


    Hi,

    I was looking through the information for this plugin, seeking to understand the implications of installing it.

    On the page https://objectcache.pro, in the comparison with your Pro version, in the comparison chart, comparing Object Cache Pro with the version here (and various other plugins), there was one item that particularly interested me, under “Reliability”:

    Mitigates race conditions

    Object Cache Pro allows hundreds of users to perform similar or identical actions concurrently without losing valuable data, by mitigating race conditions in WordPress core and 3rd-party plugins.

    In the comparison table, there’s a “tick” for that only for Object Cache Pro, and not for anything else – and specifically, not for this plugin.

    This would appear to imply that, should I install this plugin (free version) on a site, then I will have introduced a new risk of race conditions; I will be at risk of “losing valuable data”. (Whereas without the plugin, on a vanilla WP install in respect of object cacheing, i.e. no such cacheing, there won’t be any race conditions related to cached items, and one’s data will be safe).

    Have I understood that correctly?

    Further reviewing the page https://objectcache.pro/manifesto , it seems to be telling me the same thing; the free version is not simply not as powerful/fast/fully-featured as the Pro version, but using it actively introduces the risks of “ominous, impossible-to-track issues … Lost conversions, failed credit card charges, and sometimes worse … “, leaving one at risk of not being able to “sleep at night”. This sounds quite concerning!

    Thank you,
    David

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Till Krüss

    (@tillkruess)

    Hey David,

    yes, in a sense. The race conditions occur when multiple requests write to the options table at the exact same time, so it only occurs under heavy load or high traffic sites.

    It’s a short-coming of WordPress core itself and Object Cache Pro mitigates this problem, while non of the other plugins, including memcache do.

    Thread Starter David Anderson

    (@davidanderson)

    @tillkruess Thank you…. I’m sorry, I’m not 100% clear… you’re saying that the references on those pages are to:

    1) A race condition that occurs in WordPress core *without plugins or object caching* (and which Object Cache Pro contains a mitigation for)

    or

    2) A new race condition (or set of race conditions) that occur in WordPress core *once you introduce object caching, if the object cache has not taken care to mitigate it* (which only Object Cache Pro has) ?

    I know that race conditions can and do occur as described in 1), of course (I’ve seen plenty of them, and, for example, had patches accepted for WP core against WP Cron to provide hooks so that you can use a separate table rather than the stupid default everything-in-a-single-row design). What I’m trying to specifically understand is if you’re saying that other object cache plugins (including the free one here) introduce some *extra* ones.

    Thank you,
    David

    Plugin Author Till Krüss

    (@tillkruess)

    The alloptions cache key doesn’t persist if no persistent object cache is enabled.

    WordPress Core and Object Cache Pro will still race for individual options, you can’t avoid that.

    But WP Redis and Redis Object Cache will have an additional race condition for the alloptions cache key under heavy load.

    Thread Starter David Anderson

    (@davidanderson)

    @tillkruess Thank you. So, a free user could at least be confident that their site would not have introduced any *new* race conditions, if he prevented caching of the alloptions key?

    Plugin Author Till Krüss

    (@tillkruess)

    Correct 👍

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.