apache / apache/pinot

Exception in creating stream consumer puts segments into ERROR state

Open
#4,627 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 55m
Merged PRs (30d)
182

Description

We recently encountered a situation:
1) When starting a new consuming segment, we try to create the stream consumer. This is in LLRealtimeSegmentDataManager constructor, the call to makeStreamConsumer
2) If we encounter an exception in makeStreamConsumer, the entire state transition fails
3) The segment goes into ERROR state.

Only ways to recover:
1) Restart

We should be able to gracefully recover from this. Some solutions:
1) Catch this as a transient exception, and call handleTransientException. This method will retry creating streamConsumer after a 1s sleep. The retry will happen 5 times.

cc: @mcvsubbu

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.