Repository navigation
Added graceful shutdown for topic streams - #771
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #771 +/- ##
============================================
+ Coverage 75.63% 75.67% +0.04%
- Complexity 3780 3785 +5
============================================
Files 396 396
Lines 16923 16936 +13
Branches 1790 1789 -1
============================================
+ Hits 12799 12817 +18
+ Misses 3503 3501 -2
+ Partials 621 618 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
AI Review SummaryVerdict: ✅ No critical issues found Critical issuesNo critical issues found. Other findings
This review was generated automatically. Critical issues require attention; other findings are advisory. |
|
Analysis performed by claude, z-ai/glm-5.3-flash. |
| preDestroy(); | ||
| streamStatus.complete(status); |
There was a problem hiding this comment.
[ИИ-ревью] Очистка сессии может заблокировать завершение потока
preDestroy() закрывает партиции и синхронно завершает ожидающие commit-future, пока состояние потока ещё активно. Если обработчик ошибки commit вызывает reader.shutdown().join(), возникает цикл: shutdown ждёт streamStatus, а streamStatus.complete(status) ждёт возвращения этого обработчика. Завершение зависает даже при уже закрытом транспорте.
Этот же порядок позволяет исключению из onPartitionSessionClosed перехватить завершение: при executor Runnable::run серверный UNAUTHORIZED заменяется на CLIENT_INTERNAL_ERROR, и вместо остановки запускается retry. Остановку и итоговый статус следует фиксировать до вызова пользовательских callback очистки.
There was a problem hiding this comment.
Да, текущая реализация в целом чувствительна к блокировкам в обработке commit. Это не предмет текущего PR и будет решаться отдельно
No description provided.