Skip to content

Commit 257497d

Browse files
improve: clarify EventProcessor logging and contract for events received before start (#3382)
Signed-off-by: Dennis-Mircea Ciupitu <dennis.mircea.ciupitu@gmail.com>
1 parent 5c52b63 commit 257497d

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

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

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,14 @@ private EventProcessor(
111111
.orElseGet(HashMap::new);
112112
}
113113

114+
/**
115+
* Receives an {@link Event} from a registered {@link
116+
* io.javaoperatorsdk.operator.processing.event.source.EventSource} and either dispatches it for
117+
* immediate processing or, if this processor has not been {@link #start() started} yet, marks it
118+
* in the resource state so it can be replayed by {@link #handleAlreadyMarkedEvents()} once the
119+
* processor starts. Events received during the start-up window between event source readiness and
120+
* processor start are therefore deferred rather than dropped.
121+
*/
114122
@Override
115123
public synchronized void handleEvent(Event event) {
116124
try {
@@ -134,7 +142,7 @@ public synchronized void handleEvent(Event event) {
134142
cleanupForDeletedEvent(state.getId());
135143
}
136144
// events are received and marked, but will be processed when started, see start() method.
137-
log.debug("Skipping event: {} because the event processor is not started", event);
145+
log.debug("Deferring event: {} until the event processor starts", event);
138146
return;
139147
}
140148
handleMarkedEventForResource(state);

0 commit comments

Comments
 (0)