Component move fails in Adobe Experience Manager when large containers trigger split JSON responses

This article explains why moving components within a page in Adobe Experience Manager (AEM) fail when the page contains a large number of content nodes, and provides a temporary workaround.

Description description

When using AEM, moving a component within a page that contains a large number of content nodes don’t work as expected. This issue occurs when the number of nodes in a container exceeds the configured limit for JSON results in the Apache Sling GET Servlet (DefaultGetServlet). By default, this limit is set to 1000 nodes. When the limit is exceeded, a request to the container’s .infinity.json endpoint returns an HTTP 300 response with references to multiple split JSON files instead of a single JSON response. The AEM authoring UI doesn’t handle this split response correctly, causing the component move operation to fail silently.

Environment

  • Adobe Experience Manager (all versions)

Symptoms

  • Attempting to move a component within a page containing a large number of nodes has no effect.
  • The request to /container.infinity.json returns an HTTP 300 response with references to multiple split JSON files, such as:
  • /content/.../jcr:content/root/container.2.json
  • /content/.../jcr:content/root/container.1.json
  • /content/.../jcr:content/root/container.0.json

Cause

The DefaultGetServlet enforces a limit on the number of nodes returned in a single JSON response. When this limit is exceeded, the servlet returns a split response, which isn’t currently handled by the AEM authoring workflow during component move operations.

Resolution resolution

Follow the steps below to resolve the issue:

  1. Log in to the AEM Web Console Configuration at /system/console/configMgr.
  2. Locate the configuration for Apache Sling GET Servlet (org.apache.sling.servlets.get.DefaultGetServlet).
  3. Increase the value of json.maximumresults to a number higher than the total nodes in your largest container (For example: increase from 1000 to 2000).
  4. Save the configuration.
  5. Retry the component move operation to verify if it now completes successfully.
  6. Monitor future AEM Sites release notes for updates regarding a permanent fix for this issue.
recommendation-more-help
experience-cloud-kcs-help-kbarticles