Добрый день. Подскажите, читаю change stream из mongos (бд шардирована).

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

5 ответов

12 просмотров

Не понятно зачем вам старые данные? Стрим на то и стрим что вы должны работать с текущим потоком и отталкиваться от состояния бд которое было на момент запуска стрима. Т.е. либо у вас стрим читается с начала существования бд, но это походу не ваш случай, либо вы должны предподготовку выполнить дополнительно при запуске стрима

Александр-Шматов Автор вопроса
Nick
Не понятно зачем вам старые данные? Стрим на то и ...

кажется стрим позволяет читать с произвольного момента, в частности токен является оффсетом с которого можно продолжить чтение. Реальность такова, что чтение может прерваться, за время остановки токен может уйти за границы oplog и чтобы продолжить чтение с минимальными потерями нужно вычислить максимально старый ts, чтобы продолжить чтение

Александр Шматов
кажется стрим позволяет читать с произвольного мом...

Важно различать "позволяет читать" и "позволяет выбрать любой момент в прошлом с которого начать читать"

Александр-Шматов Автор вопроса
Александр Шматов
к сожалению, не понял о чем вы

То что гарантий нет и вам самому надо все организовывать и контролировать. Хотите долгую историю - увеличивайте размер оплога, но если там уже нет данных то они из воздуха не возьмутся.

Похожие вопросы

Обсуждают сегодня

Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Это везде так работает, или еще колдовать нужно?)
Квадрат Гипотенузы
6
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Всем привет! Есть камеры для наблюдения с встроенной видеоаналитикой (детектор лиц, например). Как я понял, все вычисления и анализ происходят на самом железе камеры, и пр...
Артур 🌞 Сапрыкин
1
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Можно ли отследить отправление местоположения именно по кнопке, чтобы 100% отправлялось текущее, а не любое выбранное?
Lencore
2
Карта сайта