Affects Version/s: 6.2.X EE, 7.0.0 M5
Methods from class SessionTreeJSClicks.java read and write PortalPreferences. Between a read and a write a new read may be made by another thread (for example, if a user checks two site pages while publishing from staging to live and the resulting requests arrive at the server at the same time). This may lead to a non-deterministic result.
Steps to reproduce.
- Set a site with local staging and a few public pages, say, A, B, C, D and E
- Make requests for checking pages A, B, C, D and E for publication, one after another (you can use Chrome Developer Tools and copy the curl command for the request, for example)
- Note that the pages were correctly checked.
- Uncheck pages A, B, C, D and E
- Make the same requests again for checking the pages, but this time do them in parallel (chaining together all curl commands with &, for example)
Expected results: Pages A, B, C, D and E are marked
Actual results: The pages that are checked can't be defined, but it is not likely to be all of them.