Skip to content

Commit 3aec8fe

Browse files
committed
wip
Signed-off-by: Attila Mészáros <[email protected]>
1 parent eeff1ed commit 3aec8fe

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,10 @@ private void handleEventMarking(Event event, ResourceState state) {
209209
// removed, but also the informers websocket is disconnected and later reconnected. So
210210
// meanwhile the resource could be deleted and recreated. In this case we just mark a new
211211
// event as below.
212-
state.markEventReceived();
212+
state.markEventReceived(isAllEventMode());
213213
}
214214
} else if (!state.deleteEventPresent() && !state.processedMarkForDeletionPresent()) {
215-
state.markEventReceived();
215+
state.markEventReceived(isAllEventMode());
216216
} else if (isAllEventMode() && state.deleteEventPresent()) {
217217
state.markAdditionalEventAfterDeleteEvent();
218218
} else if (log.isDebugEnabled()) {
@@ -336,7 +336,7 @@ private void handleRetryOnException(ExecutionScope<P> executionScope, Exception
336336
boolean eventPresent =
337337
state.eventPresent()
338338
|| (isAllEventMode() && state.isAdditionalEventPresentAfterDeleteEvent());
339-
state.markEventReceived();
339+
state.markEventReceived(isAllEventMode());
340340

341341
retryAwareErrorLogging(state.getRetry(), eventPresent, exception, executionScope);
342342
if (eventPresent) {

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,16 @@ public boolean processedMarkForDeletionPresent() {
9393
return eventing == EventingState.PROCESSED_MARK_FOR_DELETION;
9494
}
9595

96-
public void markEventReceived() {
97-
if (deleteEventPresent()) {
96+
public void markEventReceived(boolean isAllEventMode) {
97+
if (!isAllEventMode && deleteEventPresent()) {
9898
throw new IllegalStateException("Cannot receive event after a delete event received");
9999
}
100100
log.debug("Marking event received for: {}", getId());
101-
eventing = EventingState.EVENT_PRESENT;
101+
if (eventing == EventingState.DELETE_EVENT_PRESENT) {
102+
eventing = EventingState.ADDITIONAL_EVENT_PRESENT_AFTER_DELETE_EVENT;
103+
} else {
104+
eventing = EventingState.EVENT_PRESENT;
105+
}
102106
}
103107

104108
public void markAdditionalEventAfterDeleteEvent() {

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/ResourceStateManagerTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void returnsNoEventPresentIfNotMarkedYet() {
3232

3333
@Test
3434
public void marksEvent() {
35-
state.markEventReceived();
35+
state.markEventReceived(false);
3636

3737
assertThat(state.eventPresent()).isTrue();
3838
assertThat(state.deleteEventPresent()).isFalse();
@@ -48,7 +48,7 @@ public void marksDeleteEvent() {
4848

4949
@Test
5050
public void afterDeleteEventMarkEventIsNotRelevant() {
51-
state.markEventReceived();
51+
state.markEventReceived(false);
5252

5353
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
5454

@@ -58,7 +58,7 @@ public void afterDeleteEventMarkEventIsNotRelevant() {
5858

5959
@Test
6060
public void cleansUp() {
61-
state.markEventReceived();
61+
state.markEventReceived(false);
6262
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
6363

6464
manager.remove(sampleResourceID);
@@ -74,14 +74,14 @@ public void cannotMarkEventAfterDeleteEventReceived() {
7474
IllegalStateException.class,
7575
() -> {
7676
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
77-
state.markEventReceived();
77+
state.markEventReceived(false);
7878
});
7979
}
8080

8181
@Test
8282
public void listsResourceIDSWithEventsPresent() {
83-
state.markEventReceived();
84-
state2.markEventReceived();
83+
state.markEventReceived(false);
84+
state2.markEventReceived(false);
8585
state.unMarkEventReceived(false);
8686

8787
var res = manager.resourcesWithEventPresent();

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/alleventmode/onlyreconcile/AllEventIT.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.javaoperatorsdk.operator.baseapi.alleventmode.onlyreconcile;
22

3-
import org.junit.jupiter.api.Disabled;
43
import org.junit.jupiter.api.Test;
54
import org.junit.jupiter.api.extension.RegisterExtension;
65

@@ -63,7 +62,6 @@ void deleteEventPresentWithoutFinalizer() {
6362
});
6463
}
6564

66-
@Disabled("fix")
6765
@Test
6866
void retriesExceptionOnDeleteEvent() {
6967
var reconciler = extension.getReconcilerOfType(AllEventReconciler.class);

0 commit comments

Comments
 (0)