Skip to content

Commit 72e4eee

Browse files
metacosmcsviri
authored andcommitted
fix: improve wording
1 parent a7c0d91 commit 72e4eee

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

docs/documentation/features.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -713,19 +713,25 @@ See also an example implementation in the
713713

714714
## Optimization of Caches
715715

716-
In case of large clusters with huge amount of resources the memory consumption of an operator.
717-
In order to reduce the memory consumption both primary and secondary resources in cache can be pruned, thus only
718-
partial objects will remain in memory.
719-
720-
This has some implications regarding how those objects needs to be managed within a reconciler. Since from this point
721-
reconciler will work only from partial object, all the updates on the pruned resources needs to be done by a PATCH
722-
operations, thus just to send only the required changes.
723-
724-
To see how to use, and how to handle related caveats regarding patches what utilizes
725-
[server side apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/) check the provided
726-
[integration test](https://github.com/java-operator-sdk/java-operator-sdk/blob/c688524e64205690ba15587e7ed96a64dc231430/operator-framework/src/test/java/io/javaoperatorsdk/operator/CachePruneIT.java) and reconciler.
727-
728-
Dependent Resources does not work with pruned caches for now.
716+
Operators using informers will initially cache the data for all known resources when starting up
717+
so that access to resources can be performed quickly. Consequently, the memory required for the
718+
operator to run and startup time will both increase quite dramatically when dealing with large
719+
clusters with numerous resources.
720+
721+
It is thus possible to configure the operator to cache only pruned versions of the resources to
722+
alleviate the memory usage of the primary and secondary caches. This setup, however, has
723+
implications on how reconcilers deal with resources since they will only work with partial
724+
objects. As a consequence, resources need to be updated using PATCH operations only, sending
725+
only required changes.
726+
727+
To see how to use, and how to handle related caveats regarding how to deal with pruned objects
728+
that leverage
729+
[server side apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/) patches,
730+
please check the provided
731+
[integration test](https://github.com/java-operator-sdk/java-operator-sdk/blob/c688524e64205690ba15587e7ed96a64dc231430/operator-framework/src/test/java/io/javaoperatorsdk/operator/CachePruneIT.java)
732+
and associates reconciler.
733+
734+
Pruned caches are currently not supported with the Dependent Resources feature.
729735

730736
## Automatic Generation of CRDs
731737

0 commit comments

Comments
 (0)