-
- Downloads
Fix refreshing of issues/MR count caches
This ensures the open issues/MR count caches are refreshed properly when creating new issues or MRs. This MR also includes a change to the cache keys to ensure all caches are rebuilt on the fly. This particular problem was not caught in the test suite due to a null cache being used, resulting in all calls that would use a cache using the underlying data directly. In production the code would fail because a newly saved record returns an empty hash in #changes meaning checks such as `state_changed? || confidential_changed?` would return false for new rows, thus never updating the counters. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/38061
Showing
- app/models/issue.rb 0 additions, 2 deletionsapp/models/issue.rb
- app/models/merge_request.rb 0 additions, 2 deletionsapp/models/merge_request.rb
- app/services/issuable_base_service.rb 7 additions, 4 deletionsapp/services/issuable_base_service.rb
- app/services/issues/close_service.rb 1 addition, 0 deletionsapp/services/issues/close_service.rb
- app/services/merge_requests/close_service.rb 1 addition, 0 deletionsapp/services/merge_requests/close_service.rb
- app/services/projects/count_service.rb 6 additions, 1 deletionapp/services/projects/count_service.rb
- spec/services/issues/close_service_spec.rb 1 addition, 1 deletionspec/services/issues/close_service_spec.rb
- spec/services/issues/create_service_spec.rb 1 addition, 1 deletionspec/services/issues/create_service_spec.rb
- spec/services/issues/update_service_spec.rb 7 additions, 0 deletionsspec/services/issues/update_service_spec.rb
- spec/services/merge_requests/close_service_spec.rb 1 addition, 1 deletionspec/services/merge_requests/close_service_spec.rb
- spec/services/merge_requests/create_service_spec.rb 1 addition, 1 deletionspec/services/merge_requests/create_service_spec.rb
- spec/services/projects/count_service_spec.rb 2 additions, 2 deletionsspec/services/projects/count_service_spec.rb
Please register or sign in to comment