Skip to content

Troubleshooting

Start from the symptom. This page routes you to the component that is actually failing.

Stroom moves data through several components, so a symptom often shows up a long way from its cause: a dashboard with no rows can be an index question, a translation question, a processor question, or simply a feed not yet set to receive. Once you know which component to look at, the answer is usually quick.

So start here and follow the symptom.

Is it working at all?

If the question is "is this working?" rather than "why is this broken?", the ordered checks in Checking it works are the faster route. Each one ends with a diagnostic sequence for when the answer is no, and between them they cover the main data path: arriving, processing, searching.

This section is for the problems that do not fit in that path: a component misbehaving in its own particular way.

Symptom index

SymptomWhere to look
The sender gets an error, or data never appears on the feedIs data arriving?
Data is on the feed, no output is producedIs data processing?
A search returns nothing, or a dashboard is emptyIs search working?
Searches are wrong on one field, or a shard says CORRUPTIndex problems
Lookups return nothing, a store is full, or a schema mismatch is reportedPlan B problems
A floor map is blank, or draws the layout but no entitiesFloor map problems
Data reached a proxy and stopped thereProxy problems
Everything works but slowly, or a backlog is growingPerformance and queues
You need the detail that is not on any screenReading the logs

Two rules that save time

Find the error stream before forming a theory. Most processing failures write one, and it names the element that failed and usually why. Pipeline debugging shows how to read one and step through the input that caused it. Reading it takes a minute; guessing takes an afternoon.

Change one thing. Stroom has enough asynchronous moving parts that two simultaneous changes make the result uninterpretable: you will not know which one worked, and if the problem comes back you will not know what to undo.

All documentation