Fetched vs fetch-less options
In batching, you can easily edit some types of dependent object lists.
When you modify a dependent object list, you must fetch the parent object instead use a
fetch-less object. By default, mutations use a fetch-less object when executing in a batch. Newer
mutations for administration type operations, namely for metadata authoring (described in a later
section), fetch the object to be used by the mutation but only when the current conditions are met:
- There is no prior mutation in the batch that identifies the same object. In that case a fetch-less object is still used.
- Except when the immediately preceding mutation, then the two mutations simply combine and modify the same instance – fetched or fetch-less, whichever was appropriate for the previous mutation.
This default behavior can be modified for the running instance of a GraphQL server by configuring
the system property ecm.content.graphql.batching.preretrieve with the following
objects:
- fetchless_all = Fetch less objects are always used with batched mutations.
- fetched_all = Fetched objects are obtained for all types of objects (not just for the new admin mutations), subject to the rules.
- fetched_admin = (default) Fetched objects are obtained for only the new admin types of mutations.