Нужно собрать максимально доступное количество ивентов в oplog. Возникает вопрос, как получить максимально далекий timestamp? Смотрел в метрики содержащие oplog и tail. Вижу, что при дропе коллекции, ts в метриках не сбрасывается до даты дропа - предполагаю, что в oplog будет просто событие дропа коллекции. При этом если бы у меня уже был токен от коллекции до дропа, продолжить с ним чтение не получится. Не понятно, как достать ts захватив, как можно больше ивентов касающихся актуальной коллекции?
Не понятно зачем вам старые данные? Стрим на то и стрим что вы должны работать с текущим потоком и отталкиваться от состояния бд которое было на момент запуска стрима. Т.е. либо у вас стрим читается с начала существования бд, но это походу не ваш случай, либо вы должны предподготовку выполнить дополнительно при запуске стрима
кажется стрим позволяет читать с произвольного момента, в частности токен является оффсетом с которого можно продолжить чтение. Реальность такова, что чтение может прерваться, за время остановки токен может уйти за границы oplog и чтобы продолжить чтение с минимальными потерями нужно вычислить максимально старый ts, чтобы продолжить чтение
Важно различать "позволяет читать" и "позволяет выбрать любой момент в прошлом с которого начать читать"
к сожалению, не понял о чем вы
То что гарантий нет и вам самому надо все организовывать и контролировать. Хотите долгую историю - увеличивайте размер оплога, но если там уже нет данных то они из воздуха не возьмутся.
Обсуждают сегодня