Skip to content

Commit e00aac2

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

File tree

9 files changed

+44
-271
lines changed

9 files changed

+44
-271
lines changed

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

Lines changed: 0 additions & 61 deletions
This file was deleted.
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@
77
import io.javaoperatorsdk.operator.processing.event.ResourceID;
88
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
99

10-
class DefaultPrimaryToSecondaryIndex<R extends HasMetadata> implements PrimaryToSecondaryIndex<R> {
10+
class DefaultTemporalPrimaryToSecondaryIndex<R extends HasMetadata>
11+
implements TemporalPrimaryToSecondaryIndex<R> {
1112

1213
private final SecondaryToPrimaryMapper<R> secondaryToPrimaryMapper;
1314
private final Map<ResourceID, Set<ResourceID>> index = new HashMap<>();
1415

15-
public DefaultPrimaryToSecondaryIndex(SecondaryToPrimaryMapper<R> secondaryToPrimaryMapper) {
16+
public DefaultTemporalPrimaryToSecondaryIndex(
17+
SecondaryToPrimaryMapper<R> secondaryToPrimaryMapper) {
1618
this.secondaryToPrimaryMapper = secondaryToPrimaryMapper;
1719
}
1820

1921
@Override
20-
public synchronized void onAddOrUpdate(R resource) {
22+
public synchronized void explicitAddOrUpdate(R resource) {
2123
Set<ResourceID> primaryResources = secondaryToPrimaryMapper.toPrimaryResourceIDs(resource);
2224
primaryResources.forEach(
2325
primaryResource -> {
@@ -28,7 +30,7 @@ public synchronized void onAddOrUpdate(R resource) {
2830
}
2931

3032
@Override
31-
public synchronized void onDelete(R resource) {
33+
public synchronized void cleanupForResource(R resource) {
3234
Set<ResourceID> primaryResources = secondaryToPrimaryMapper.toPrimaryResourceIDs(resource);
3335
primaryResources.forEach(
3436
primaryResource -> {

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public class InformerEventSource<R extends HasMetadata, P extends HasMetadata>
6565
private static final Logger log = LoggerFactory.getLogger(InformerEventSource.class);
6666
// we need direct control for the indexer to propagate the just update resource also to the index
6767
private final PrimaryToSecondaryMapper<P> primaryToSecondaryMapper;
68-
private final ComplementaryPrimaryToSecondaryIndex<R> complementaryPrimaryToSecondaryIndex;
68+
private final TemporalPrimaryToSecondaryIndex<R> temporalPrimaryToSecondaryIndex;
6969
private final String id = UUID.randomUUID().toString();
7070

7171
public InformerEventSource(
@@ -99,9 +99,8 @@ private InformerEventSource(
9999
// If there is a primary to secondary mapper there is no need for primary to secondary index.
100100
primaryToSecondaryMapper = configuration.getPrimaryToSecondaryMapper();
101101
if (useSecondaryToPrimaryIndex()) {
102-
complementaryPrimaryToSecondaryIndex =
103-
new DefaultComplementaryPrimaryToSecondaryIndex<>(
104-
configuration.getSecondaryToPrimaryMapper());
102+
temporalPrimaryToSecondaryIndex =
103+
new DefaultTemporalPrimaryToSecondaryIndex<>(configuration.getSecondaryToPrimaryMapper());
105104
addIndexers(
106105
Map.of(
107106
PRIMARY_TO_SECONDARY_INDEX_NAME,
@@ -110,7 +109,7 @@ private InformerEventSource(
110109
.map(InformerEventSource::resourceIdToString)
111110
.toList()));
112111
} else {
113-
complementaryPrimaryToSecondaryIndex = new NOOPComplementaryPrimaryToSecondaryIndex();
112+
temporalPrimaryToSecondaryIndex = NOOPTemporalPrimaryToSecondaryIndex.getInstance();
114113
}
115114

116115
final var informerConfig = configuration.getInformerConfig();
@@ -159,7 +158,7 @@ public void onDelete(R resource, boolean b) {
159158
ResourceID.fromResource(resource),
160159
resourceType().getSimpleName());
161160
}
162-
complementaryPrimaryToSecondaryIndex.cleanupForResource(resource);
161+
temporalPrimaryToSecondaryIndex.cleanupForResource(resource);
163162
super.onDelete(resource, b);
164163
if (acceptedByDeleteFilters(resource, b)) {
165164
propagateEvent(resource);
@@ -169,7 +168,7 @@ public void onDelete(R resource, boolean b) {
169168
private synchronized void onAddOrUpdate(
170169
Operation operation, R newObject, R oldObject, Runnable superOnOp) {
171170
var resourceID = ResourceID.fromResource(newObject);
172-
complementaryPrimaryToSecondaryIndex.cleanupForResource(newObject);
171+
temporalPrimaryToSecondaryIndex.cleanupForResource(newObject);
173172
if (canSkipEvent(newObject, oldObject, resourceID)) {
174173
log.debug(
175174
"Skipping event propagation for {}, since was a result of a reconcile action. Resource"
@@ -256,7 +255,7 @@ public Set<R> getSecondaryResources(P primary) {
256255

257256
if (useSecondaryToPrimaryIndex()) {
258257
var primaryID = ResourceID.fromResource(primary);
259-
var complementaryIds = complementaryPrimaryToSecondaryIndex.getSecondaryResources(primaryID);
258+
var complementaryIds = temporalPrimaryToSecondaryIndex.getSecondaryResources(primaryID);
260259
var resources = byIndex(PRIMARY_TO_SECONDARY_INDEX_NAME, resourceIdToString(primaryID));
261260
log.debug("Resources in cache: {} kind: {}", resources, resourceType().getSimpleName());
262261
log.debug(
@@ -309,7 +308,7 @@ public synchronized void handleRecentResourceCreate(ResourceID resourceID, R res
309308
}
310309

311310
private void handleRecentCreateOrUpdate(Operation operation, R newResource, R oldResource) {
312-
complementaryPrimaryToSecondaryIndex.explicitAddOrUpdate(newResource);
311+
temporalPrimaryToSecondaryIndex.explicitAddOrUpdate(newResource);
313312
temporaryResourceCache.putResource(
314313
newResource,
315314
Optional.ofNullable(oldResource)

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

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,27 @@
55
import io.fabric8.kubernetes.api.model.HasMetadata;
66
import io.javaoperatorsdk.operator.processing.event.ResourceID;
77

8-
class NOOPPrimaryToSecondaryIndex<R extends HasMetadata> implements PrimaryToSecondaryIndex<R> {
8+
class NOOPTemporalPrimaryToSecondaryIndex<R extends HasMetadata>
9+
implements TemporalPrimaryToSecondaryIndex<R> {
910

1011
@SuppressWarnings("rawtypes")
11-
private static final NOOPPrimaryToSecondaryIndex instance = new NOOPPrimaryToSecondaryIndex();
12+
private static final NOOPTemporalPrimaryToSecondaryIndex instance =
13+
new NOOPTemporalPrimaryToSecondaryIndex();
1214

1315
@SuppressWarnings("unchecked")
14-
public static <T extends HasMetadata> NOOPPrimaryToSecondaryIndex<T> getInstance() {
16+
public static <T extends HasMetadata> NOOPTemporalPrimaryToSecondaryIndex<T> getInstance() {
1517
return instance;
1618
}
1719

18-
private NOOPPrimaryToSecondaryIndex() {}
20+
private NOOPTemporalPrimaryToSecondaryIndex() {}
1921

2022
@Override
21-
public void onAddOrUpdate(R resource) {
23+
public void explicitAddOrUpdate(R resource) {
2224
// empty method because of noop implementation
2325
}
2426

2527
@Override
26-
public void onDelete(R resource) {
28+
public void cleanupForResource(R resource) {
2729
// empty method because of noop implementation
2830
}
2931

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

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
import io.fabric8.kubernetes.api.model.HasMetadata;
66
import io.javaoperatorsdk.operator.processing.event.ResourceID;
77

8-
public interface ComplementaryPrimaryToSecondaryIndex<R extends HasMetadata> {
8+
public interface TemporalPrimaryToSecondaryIndex<R extends HasMetadata> {
99

1010
void explicitAddOrUpdate(R resource);
1111

12-
void cleanupForResource(R resourceID);
12+
void cleanupForResource(R resource);
1313

1414
Set<ResourceID> getSecondaryResources(ResourceID primary);
1515
}

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/informer/DefaultComplementaryPrimaryToSecondaryIndexTest.java

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)