Я хочу создать процесс, который загружает данные в ES так, чтобы
- Существует два индекса: index_1, index_2 и псевдоним, который указывает на index_1 или index_2
- Данные массово загружаются в index_1 или index_2
- Если все данные загружены без сбоев, псевдоним изменяется
Я использую Java Client API.
Я хотел бы быть уверен, что когда я добавляю данные в BulkProcessor, он завершил все задания, прежде чем я продолжу оценивать наличие ошибок. Я отслеживаю сбои в BulkProcessor.Listener.afterBulk.
В моей текущей тестовой реализации, когда все данные передаются в BulkProcessor, я вызываю BulkProcessor.flush (), а затем добавляю тайм-аут (просто чтобы убедиться), прежде чем проверять, записал ли afterBulk какие-либо сбои.
Но вопрос в следующем: : Что я могу сделать, чтобы убедиться, что у BulkProcessor не осталось заданий и все выполненные запросы IndexRequest были выполнены?