Skip to content

Commit c710aa2

Browse files
committed
record only last event
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 0043734 commit c710aa2

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/EventFilterDetails.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,14 @@
1515
*/
1616
package io.javaoperatorsdk.operator.processing.event.source.informer;
1717

18-
import java.util.ArrayList;
19-
import java.util.List;
2018
import java.util.Optional;
2119

2220
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEvent;
2321

2422
class EventFilterDetails {
2523

26-
// initially should be created during event filtering update
27-
2824
private int activeUpdates = 0;
29-
// todo might be just one
30-
private final List<ResourceEvent> events = new ArrayList<>();
25+
private ResourceEvent lastEvent;
3126
private int lastUpdatedResourceVersion = -1;
3227

3328
public int getActiveUpdates() {
@@ -42,8 +37,8 @@ public void decreaseActiveUpdates() {
4237
activeUpdates = activeUpdates - 1;
4338
}
4439

45-
public void recordEvent(ResourceEvent event) {
46-
events.add(event);
40+
public void setLastEvent(ResourceEvent event) {
41+
lastEvent = event;
4742
}
4843

4944
public void setLastUpdatedResourceVersion(String version) {
@@ -54,11 +49,10 @@ public void setLastUpdatedResourceVersion(String version) {
5449
}
5550

5651
public Optional<ResourceEvent> getLatestEventAfterLastUpdateEvent() {
57-
if (events.isEmpty()) return Optional.empty();
58-
var latest = events.get(events.size() - 1);
59-
if (Integer.parseInt(latest.getResource().orElseThrow().getMetadata().getResourceVersion())
52+
if (lastEvent == null) return Optional.empty();
53+
if (Integer.parseInt(lastEvent.getResource().orElseThrow().getMetadata().getResourceVersion())
6054
> lastUpdatedResourceVersion) {
61-
return Optional.of(latest);
55+
return Optional.of(lastEvent);
6256
} else {
6357
return Optional.empty();
6458
}

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ private synchronized boolean onEvent(T resource, boolean unknownState, boolean d
144144
}
145145
var ed = activeUpdates.get(resourceId);
146146
if (ed != null) {
147-
ed.recordEvent(
147+
ed.setLastEvent(
148148
delete
149149
? new ResourceDeleteEvent(ResourceAction.DELETED, resourceId, resource, unknownState)
150150
: new ResourceEvent(

0 commit comments

Comments
 (0)