KKcorps commented on PR #19632:
URL: https://github.com/apache/pinot/pull/19632#issuecomment-5830147798
Thanks, the ERROR case looks good now. Could you add the `_currentOffset ==
endOffset` check from my last comment with a test, and refresh the PR body
since it still mentions `markConsumingStopped()`? Replicas that catch up also
never see EOF, so they'd fit in the same ZK-marker follow-up.
Here's the case the check covers, before and after:
**Today**
```mermaid
sequenceDiagram
participant B as Replica B
participant C as Controller
participant S1 as S1 on replica A
participant S2 as S2 on replica A
participant G as Gauge on replica A
S1->>S1: reads to EOF at offset 200
B->>C: wins the commit at offset 150
C->>S2: shard not done at 150, start S2 from 150
C->>S1: DISCARD, then ONLINE
S1->>S1: downloads B's copy (ends at 150)
S1->>G: _endOfPartitionGroup is true, remove gauge
Note over S2: S2 stalls before its first fetch
Note over G: gauge absent, alert stays quiet
```
**With the offset check**
```mermaid
sequenceDiagram
participant B as Replica B
participant C as Controller
participant S1 as S1 on replica A
participant S2 as S2 on replica A
participant G as Gauge on replica A
S1->>S1: reads to EOF at offset 200
B->>C: wins the commit at offset 150
C->>S2: shard not done at 150, start S2 from 150
C->>S1: DISCARD, then ONLINE
S1->>S1: downloads B's copy (ends at 150)
S1->>G: 200 != 150, keep gauge at 0
Note over S2: S2 stalls before its first fetch
Note over G: gauge stays at 0, alert fires
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]