* Added ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands
* Added Cache Instructions lock, to avoid deadlocks
* Optimized read locks for nucache when only one content type is rebuilt
* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two
* Avoid breaking changes
* Cosmetic changes
* Take locks if everything is rebuild
* Use same lock in scopes, to avoid potential deadlocks between the two
* Use eager locks in PublishedSnapshotService.cs
* Added timeouts to some of the application locks
* Revert "Use eager locks in PublishedSnapshotService.cs"
This reverts commit 01873aae978ffa6e6686d253e482c493715e3a96.
* Revert "Added Cache Instructions lock, to avoid deadlocks"
This reverts commit e3fca7c12a804bb32ca1156b8abd42a957e9dc21.
* Use single readlock call to lock many
* Use eager locks for reads
* Eager write locks
* Ignore test of lazy locks
* Unique timeout exception messages
---------
Co-authored-by: kjac <kja@umbraco.dk>
(cherry picked from commit 2c23e67c65)
* Ensure that missing access rules do not break the site (#15081)
(cherry picked from commit 6777145079)
* Added Exception handling and replicated error and info message
* Update auth.resource.js
Fixed the message
* Changed Delay introduction to early phase to avoid repeating code.
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: jey <jey@umbraco.dk>
Co-authored-by: Jey <cyaqublu@gmail.com>
* Move localdb file management of PublishedSnapshotService into itself.
Added a way for the PublishedSnapshot service to clean up it's local files so (for example) Upgrade migrations have a reliable way of removing known invalid cache files without running into locking issues
* Small rename to differentiate existing method from simple getter
* Fix breaking change
Long live default implementations 🎉
* Another breaking change fix
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Created an extension for comparing the current and the outdated providerName for Sqlite
* Added usages for the CompareProviderNames
* Added another case if the providerName is the outdated SQLite
* Both cases use Sqlite, so there is no need to have duplicate code
(cherry picked from commit d0cd22b09d)
* Setting actionContext.Result when authz wasn't successful
* Taking into account permissions when it is a new node
* Cleanup
* Passing nodeId as path when new item
* Setting actionContext.Result when authz wasn't successful
* Taking into account permissions when it is a new node
* Cleanup
* Passing nodeId as path when new item