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.