Skip to content

Commit b89afa1

Browse files
committed
improve: do not remove resource version for SSA
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 8a37956 commit b89afa1

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ReconciliationDispatcher.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class ReconciliationDispatcher<P extends HasMetadata> {
4949
this.controller = controller;
5050
this.customResourceFacade = customResourceFacade;
5151
final var configuration = controller.getConfiguration();
52-
this.cloner = configuration.getConfigurationService().getResourceCloner();
52+
this.cloner = configuration.getConfigurationService().getResourceCloner();
5353

5454
var retry = configuration.getRetry();
5555
retryConfigurationHasZeroAttempts = retry == null || retry.initExecution().isLastAttempt();
@@ -402,10 +402,6 @@ public R patchResource(R resource, R originalResource) {
402402

403403
public R patchStatus(R resource, R originalResource) {
404404
log.trace("Patching status for resource: {} with ssa: {}", resource, useSSA);
405-
String resourceVersion = resource.getMetadata().getResourceVersion();
406-
originalResource.getMetadata().setResourceVersion(null);
407-
resource.getMetadata().setResourceVersion(null);
408-
try {
409405
if (useSSA) {
410406
var managedFields = resource.getMetadata().getManagedFields();
411407
try {
@@ -420,9 +416,17 @@ public R patchStatus(R resource, R originalResource) {
420416
resource.getMetadata().setManagedFields(managedFields);
421417
}
422418
} else {
423-
var res = resource(originalResource);
424-
return res.editStatus(r -> resource);
419+
return editStatus(resource, originalResource);
425420
}
421+
}
422+
423+
private R editStatus(R resource, R originalResource) {
424+
String resourceVersion = resource.getMetadata().getResourceVersion();
425+
try {
426+
originalResource.getMetadata().setResourceVersion(null);
427+
resource.getMetadata().setResourceVersion(null);
428+
var res = resource(originalResource);
429+
return res.editStatus(r -> resource);
426430
} finally {
427431
// restore initial resource version
428432
originalResource.getMetadata().setResourceVersion(resourceVersion);

0 commit comments

Comments
 (0)