Skip to content

Commit def23c5

Browse files
committed
CR and improvements
1 parent e974467 commit def23c5

File tree

5 files changed

+26
-22
lines changed

5 files changed

+26
-22
lines changed

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,12 @@ public void handleEvent(Event event) {
5858
}
5959

6060
private void executeBufferedEvents(String customResourceUid) {
61-
if (!isControllerUnderExecution(customResourceUid)
62-
&& eventBuffer.containsEvents(customResourceUid)) {
61+
if (!isControllerUnderExecution(customResourceUid) && eventBuffer.containsEvents(customResourceUid)) {
6362
setUnderExecutionProcessing(customResourceUid);
64-
ExecutionScope executionScope =
65-
new ExecutionScope(eventBuffer.getAndRemoveEventsForExecution(customResourceUid),
66-
resourceCache.getLatestResource(customResourceUid).get());
67-
ExecutionConsumer executionConsumer =
68-
new ExecutionConsumer(executionScope, eventDispatcher, this);
69-
executor.execute(executionConsumer);
63+
ExecutionScope executionScope = new ExecutionScope(
64+
eventBuffer.getAndRemoveEventsForExecution(customResourceUid),
65+
resourceCache.getLatestResource(customResourceUid).get());
66+
executor.execute(new ExecutionConsumer(executionScope, eventDispatcher, this));
7067
}
7168
}
7269

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/ProcessingUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ public static String getUID(CustomResource customResource) {
1313
return customResource.getMetadata().getUid();
1414
}
1515

16+
public static String getVersion(CustomResource customResource) {
17+
return customResource.getMetadata().getResourceVersion();
18+
}
19+
1620
public static boolean containsCustomResourceDeletedEvent(List<Event> events) {
1721
return events.stream().anyMatch(e -> {
1822
if (e instanceof CustomResourceEvent) {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ public T getEventSource() {
2323

2424
@Override
2525
public String toString() {
26-
return "AbstractEvent{" +
27-
"class='" + this.getClass().getName() + "', " +
28-
"relatedCustomResourceUid='" + relatedCustomResourceUid + '\'' +
29-
", eventSource=" + eventSource +
30-
'}';
26+
return "{ class=" + this.getClass().getName() +
27+
", relatedCustomResourceUid=" + relatedCustomResourceUid +
28+
", eventSource=" + eventSource + " }";
29+
3130
}
3231
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55
import io.fabric8.kubernetes.client.Watcher;
66
import io.fabric8.kubernetes.client.dsl.MixedOperation;
77
import io.fabric8.kubernetes.client.dsl.internal.CustomResourceOperationsImpl;
8+
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
89
import io.javaoperatorsdk.operator.processing.ResourceCache;
910
import io.javaoperatorsdk.operator.processing.event.AbstractEventSource;
1011
import org.slf4j.Logger;
1112
import org.slf4j.LoggerFactory;
1213

14+
import static io.javaoperatorsdk.operator.processing.ProcessingUtils.*;
15+
1316
/**
1417
* This is a special case since does not bounds to a single custom resource
1518
*/
@@ -61,15 +64,16 @@ private void registerWatch() {
6164
}
6265

6366
@Override
64-
public void eventReceived(Watcher.Action action, CustomResource resource) {
65-
log.debug("Event received for action: {}, {}: {}", action.toString().toLowerCase(), resource.getClass().getSimpleName(),
66-
resource.getMetadata().getName());
67-
resourceCache.cacheResource(resource); // always store the latest event. Outside the sync block is intentional.
67+
public void eventReceived(Watcher.Action action, CustomResource customResource) {
68+
log.debug("Event received for action: {}, resource: {}",
69+
customResource.getMetadata().getName(), customResource);
70+
resourceCache.cacheResource(customResource); // always store the latest event. Outside the sync block is intentional.
6871
if (action == Action.ERROR) {
69-
log.debug("Skipping {} event for custom resource: {}", action, resource);
72+
log.debug("Skipping {} event for custom resource uid: {}, version: {}", action,
73+
getUID(customResource), getVersion(customResource));
7074
return;
7175
}
72-
eventHandler.handleEvent(new CustomResourceEvent(action, resource, this));
76+
eventHandler.handleEvent(new CustomResourceEvent(action, customResource, this));
7377
}
7478

7579
@Override

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class TimerEventSource extends AbstractEventSource {
1515
private Logger log = LoggerFactory.getLogger(TimerEventSource.class);
1616

1717
private final Timer timer = new Timer();
18-
private ReentrantLock lock = new ReentrantLock();
18+
private final ReentrantLock lock = new ReentrantLock();
1919

2020
private Map<String, List<EvenProducerTimeTask>> timerTasks = new ConcurrentHashMap<>();
2121

@@ -26,7 +26,7 @@ public void schedule(CustomResource customResource, long delay, long period) {
2626
timer.schedule(task, delay, period);
2727
}
2828

29-
public void schedule(CustomResource customResource, long delay) {
29+
public void scheduleOnce(CustomResource customResource, long delay) {
3030
String resourceUid = ProcessingUtils.getUID(customResource);
3131
OneTimeEventProducerTimerTask task = new OneTimeEventProducerTimerTask(resourceUid);
3232
storeTask(resourceUid, task);
@@ -65,7 +65,7 @@ public void eventSourceDeRegisteredForResource(String customResourceUid) {
6565
* @param customResourceUid
6666
* @return
6767
*/
68-
public List<EvenProducerTimeTask> getEvenProducerTimeTask(String customResourceUid) {
68+
private List<EvenProducerTimeTask> getEvenProducerTimeTask(String customResourceUid) {
6969
List<EvenProducerTimeTask> tasks = timerTasks.get(customResourceUid);
7070
if (tasks == null) {
7171
return Collections.EMPTY_LIST;

0 commit comments

Comments
 (0)