184 похожих чатов

Привет Подскажите такой вопрос Есть: кластер 2х2, таблица users_all engine distirbuted shard

key user_id % 2, таблица users replacing, так же консьюмер из кафки для пользователей который вставляет данные в users_all

Такая проблема: произошел баг, что записи с одинаковым user_id попадали в разные шарды. Как такое может быть ?
Так же при выборке из локальной таблицы на шарде select * from users where user_id = X => возвращается то 2, то 3, то 5, то 1 записей в зависиомсти от фазы луны(записи полностью одинаковые).

21 ответов

22 просмотра
Mishanya- Автор вопроса

up

1. хз 2. реплейсинг схлопывает строки в фоне, а не сразу. подробнее читайте доку

Mishanya- Автор вопроса
Vladimir Goncharov
1. хз 2. реплейсинг схлопывает строки в фоне, а не...

дак реплейсинг может вернуть меньше записей, но никак не больше

Mishanya
дак реплейсинг может вернуть меньше записей, но ни...

т.е. вы вставили одну запись, а в таблице может быть 2 или 3?

Mishanya- Автор вопроса
Vladimir Goncharov
т.е. вы вставили одну запись, а в таблице может бы...

вообще это сторонняя проблема которая меня никак не афкеттит, просто как факт я вставил 10 записей делаю селект возвращается то 1, то 3, то 5, то 2. Рандомное количество

Mishanya
вообще это сторонняя проблема которая меня никак н...

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

Mishanya- Автор вопроса
Mishanya
этим данным больше месяца

лучше подскажите почему шардинг перестал работать) кластеру больше двух лет. никаких проблем не было.

Mishanya
лучше подскажите почему шардинг перестал работать)...

и как обычно за эти два года ничего не менялось... ну разве что там один маленький параметр подкрутили, который ни на что не должен был повлиять... тут половина вопросов с такого вступления начинается, а потом оказывается, что кластер разъехался или где-то колонку добавили или место на дисках закончилось :) PS: вспоминайте последние изменения, даже самые безобидные

Mishanya- Автор вопроса
Vladimir Goncharov
и как обычно за эти два года ничего не менялось......

класттер живет своей жизнью тока селекты выполнялись)

Mishanya
класттер живет своей жизнью тока селекты выполняли...

ну если совсем ничего не менялось, то смотрите логи, может там ошибки появились, которых раньше не было.

Mishanya
20.8.12

хм, не думал, что больше двух лет назад уже была эта версия :)

Mishanya- Автор вопроса
Vladimir Goncharov
хм, не думал, что больше двух лет назад уже была э...

ну так мы его апдейтим. он не обновлялся уже месяца 3-4. был чисто спайк за 2 дня с этим шардингом. поттом все само восстановилось

Mishanya
ну так мы его апдейтим. он не обновлялся уже месяц...

2 дня спайк. что ж там такое произошло... обновили все ноды?

Mishanya- Автор вопроса
Vladimir Goncharov
2 дня спайк. что ж там такое произошло... обновил...

дефолтный ролинг апдейт накатили. через пару месяцев случился спайк.

Mishanya
дефолтный ролинг апдейт накатили. через пару месяц...

т.е. спайк произошёл не сразу после апдейта, а через два месяца после него?

Mishanya
да

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

Mishanya
вообще это сторонняя проблема которая меня никак н...

сделайте селект на дистрибьютед таблице, а потом ещё по селекту на каждой локальной базе и сравните в чём отличие.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта