nerdexam
Adobe

AD0-E117 · Question #11

During development the AEM Publisher server keeps crashing randomly. The deployment included a new static FAQ component that was used in the websites Contact Us page. An Architect investigates to…

The correct answer is D. The component has a cyclic dependency to itself. Option D is correct because a cyclic dependency means the FAQ component includes itself as a child, triggering infinite recursive instantiation on every render - even a single request spawns an exponential number of component objects, rapidly exhausting heap memory. This…

Deployment and Operations

Question

During development the AEM Publisher server keeps crashing randomly. The deployment included a new static FAQ component that was used in the websites Contact Us page. An Architect investigates to find the root cause for the random failures, and notices the following parameters:

  • The server slows down when requests are sent to the Contact us page
  • The number of requests to the page were very few
  • Heap dump shows a large number of instances of the FAQ component

What is likely causing this issue?

Options

  • AThe page was not cached in the Dispatcher.
  • BThe component triggers a traversal query.
  • CThe JVM garbage collection is not running.
  • DThe component has a cyclic dependency to itself

How the community answered

(40 responses)
  • A
    8% (3)
  • B
    13% (5)
  • C
    30% (12)
  • D
    50% (20)

Explanation

Option D is correct because a cyclic dependency means the FAQ component includes itself as a child, triggering infinite recursive instantiation on every render - even a single request spawns an exponential number of component objects, rapidly exhausting heap memory. This perfectly explains all three observations: the heap dump flooded with FAQ instances, the server crashing under very few requests (each one is catastrophic), and the slowdown tied specifically to that page.

Why the distractors are wrong:

  • A (Dispatcher cache): Missing cache means more requests reach the Publisher, but here few requests are already causing crashes - a caching fix would reduce load, not fix unbounded object creation.
  • B (Traversal query): An unindexed traversal query causes slow JCR reads but doesn't explain why heap fills with component instances; you'd see query timeouts, not a memory explosion.
  • C (GC not running): The JVM GC does run continuously; the real problem is that the cyclic component creates objects faster than GC can collect them - blaming GC misidentifies the symptom as the cause.

Memory tip: Think of the clue trio - few requests + heap full of the same component + page-specific slowdown = something about that component multiplies itself. "Cyclic" = self-referencing loop = infinite copies. If the heap dump names the culprit, the culprit is eating itself.

Topics

#AEM components#Memory management#Component dependencies#Server diagnostics

Community Discussion

No community discussion yet for this question.

Full AD0-E117 Practice