Skip to content

Remove non-transactional handling of maintenance scoped RPCs

Quang-Minh Nguyen requested to merge qmnguyen0711/ignore-maintenance-ops into master

Closes #5913 (closed)

Maintenance-scoped RPCs are currently handled non-transactionally by the WAL transactionization middleware. It examines the maintenance property of their RPC options. This method might make the middleware miss some RPCs of this type by accident. This MR removes that wildcard filter and points out discrete non-transaction RPCs instead.

There are two RPCs of that type at the moment:

  • OptimizeRepository: this RPC handles the transaction life cycle by itself.
  • PruneUnreachableObjects: this RPC should be a no-op. In fact, in some prior commits, we returned early if it detected a transaction inside the context. However, because of the maintenance filter, that early return didn't do anything. Now, it needs to check for the existence of a partition manager in the server instead.
Edited by Quang-Minh Nguyen

Merge request reports