TempStore Exceptions from VBO

Created on 28 March 2025, about 1 month ago

Problem/Motivation

We've observed occasional entries in our logs with the following error:
Drupal\Core\TempStore\TempStoreException: Couldnt acquire lock to update item 26151:26151 in tempstore.private.views_bulk_operations_content_page_1 temporary storage. in Drupal\Core\TempStore\PrivateTempStore->set() (line 134 of /var/www/html/docroot/core/lib/Drupal/Core/TempStore/PrivateTempStore.php).

The URL where these are triggered is /admin/content

Possibly related?
#2978075: Avoid concurrent VBO operations. β†’
πŸ› Error: Could not acquire lock on PrivateTempStore Active

Steps to reproduce

???

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Version

4.3

Component

Core

Created by

πŸ‡¬πŸ‡§United Kingdom malcomio

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @malcomio
  • πŸ‡ΊπŸ‡ΈUnited States matthensley Portland, OR

    I've just encountered this issue as well and am thinking in my case at least, that it's relating to a few other unresolved issues I've been trying to piece together.

    In my case, I've built an administrative dashboard that contains programmatically generated links to VBO pages that include arguments relating to the site's content. It's not uncommon for a webmaster to to see a list of these links and open many of them in new tabs to take care of an administrative process.

    Because of the issue raised here: https://www.drupal.org/project/views_bulk_operations/issues/3083237 β†’ , the same tempstore is attempted to be used (since the user id, view and display id are all the same) and so my guess is that the attempt to utilize this is creating the exception.

    This is also then leading to this issue: https://www.drupal.org/project/views_bulk_operations/issues/3199115 β†’ where in my case, opening a second tab of the same view and then checking boxes in one of the earlier opened tabs leads to a state where possible entity ids saved in the final tempstore dont' line up with the acceptable ones from the first tab opened.

    Which leads to the most disastrous case of all, particularly if there's no confirmation screen - if I've checked one box on my initial tab and selected to "delete" an entity, but the VBO executes with NO entities selected, it moves forward like I've chosen to delete ALL entities in my display, i.e.: https://www.drupal.org/project/views_bulk_operations/issues/3199534 πŸ› On configure form every entity is selected when user didn't select anything Needs work (I'm trying to find the other issue that referenced this problem, but it's a known configuration I believe that going to process with nothing checked implies that ALL are checked).

Production build 0.71.5 2024