Skip to content

Commit 3c576ae

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

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
@@ -217,10 +217,10 @@ private void handleEventMarking(Event event, ResourceState state) {
217217
// removed, but also the informers websocket is disconnected and later reconnected. So
218218
// meanwhile the resource could be deleted and recreated. In this case we just mark a new
219219
// event as below.
220-
state.markEventReceived();
220+
state.markEventReceived(isAllEventMode());
221221
}
222222
} else if (!state.deleteEventPresent() && !state.processedMarkForDeletionPresent()) {
223-
state.markEventReceived();
223+
state.markEventReceived(isAllEventMode());
224224
} else if (isAllEventMode() && state.deleteEventPresent()) {
225225
state.markAdditionalEventAfterDeleteEvent();
226226
} else if (log.isDebugEnabled()) {
@@ -344,7 +344,7 @@ private void handleRetryOnException(ExecutionScope<P> executionScope, Exception
344344
boolean eventPresent =
345345
state.eventPresent()
346346
|| (isAllEventMode() && state.isAdditionalEventPresentAfterDeleteEvent());
347-
state.markEventReceived();
347+
state.markEventReceived(isAllEventMode());
348348

349349
retryAwareErrorLogging(state.getRetry(), eventPresent, exception, executionScope);
350350
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
@@ -36,7 +36,7 @@ public void returnsNoEventPresentIfNotMarkedYet() {
3636

3737
@Test
3838
public void marksEvent() {
39-
state.markEventReceived();
39+
state.markEventReceived(false);
4040

4141
assertThat(state.eventPresent()).isTrue();
4242
assertThat(state.deleteEventPresent()).isFalse();
@@ -52,7 +52,7 @@ public void marksDeleteEvent() {
5252

5353
@Test
5454
public void afterDeleteEventMarkEventIsNotRelevant() {
55-
state.markEventReceived();
55+
state.markEventReceived(false);
5656

5757
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
5858

@@ -62,7 +62,7 @@ public void afterDeleteEventMarkEventIsNotRelevant() {
6262

6363
@Test
6464
public void cleansUp() {
65-
state.markEventReceived();
65+
state.markEventReceived(false);
6666
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
6767

6868
manager.remove(sampleResourceID);
@@ -78,14 +78,14 @@ public void cannotMarkEventAfterDeleteEventReceived() {
7878
IllegalStateException.class,
7979
() -> {
8080
state.markDeleteEventReceived(TestUtils.testCustomResource(), true);
81-
state.markEventReceived();
81+
state.markEventReceived(false);
8282
});
8383
}
8484

8585
@Test
8686
public void listsResourceIDSWithEventsPresent() {
87-
state.markEventReceived();
88-
state2.markEventReceived();
87+
state.markEventReceived(false);
88+
state2.markEventReceived(false);
8989
state.unMarkEventReceived(false);
9090

9191
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)