Как KCL внутренне порождает новый RecordProcessor
У меня есть Java-потребитель (реализация KCL) для получения сообщений из 1 потока Kinesis с 2 шардами.
KCL создает 2 RecordProcessors, соответствующих каждому фрагменту.
Затем я уложил машину в режим ожидания, поэтому JVM приостановила работу. При пробуждении библиотека KCL создает 2 дополнительных RecordProcessors в дополнение к оригинальным 2 RecordProcessors. Таким образом, для каждого шарда есть 2 процессора, которые вызывают конфликт.
Ожидаемое поведение - не создавать 2 новых RecordProcessors, пока оригинальные RecordProcessors все еще на месте. Где находится код в KCL, который имеет дело с логикой создания новых RecordProcessors?