Size: a a a

2020 May 29

R

R-omk in Tarantool
Dmitry Sharonov
кажется я понял (нет)
такая же ситуация) . вроде да ,а нет
источник

AK

Alexey Kuzin in Tarantool
я тоже понял, но не советую:) Реализовав протокол
источник

R

R-omk in Tarantool
Dmitry Sharonov
в синхронном триггере нельзя йилдить же
а я про винил говорю, асинхронный )
источник

DS

Dmitry Sharonov in Tarantool
R-omk
а я про винил говорю, асинхронный )
страшно то как
источник

R

R-omk in Tarantool
Dmitry Sharonov
страшно то как
тоже ,  но это же таранутл,   тут все возможно )
источник

MA

Mons Anderson in Tarantool
Konstantin Osipov
я, конечно, за то чтобы втащить vshard router (с оговоркой про новую схему для бакетов выше) в ипрото тред двумя руками.
Костя, может быть тикет и написан не очень ясно

Сейчас нет возможности в Lua перехватить и обработать по своему IPROTO_(SELECT|DELETE|INSERT)
Эта возможность нужна (всплывало нсколько раз в нескольких сценариях)
В том числ это позволяет реализовать прозрачную прокси, конвертирующую обращение с single-ноде в старом формате на вшард
источник

KO

Konstantin Osipov in Tarantool
Я уже написал выше, что в теории выглядит красиво, но на практике получается надо как-то научиться различать "клиентские" запросы на insert-select-update-delete и точно такие же запросы от репликации и подсистемы восстановления.
источник

KO

Konstantin Osipov in Tarantool
Можно, конечно, сделать всё что угодно.
источник

MA

Mons Anderson in Tarantool
Репликация делает IPROTO_SELECT?
источник

AK

Alexey Kuzin in Tarantool
Не, там свои же хедера
источник

KO

Konstantin Osipov in Tarantool
iproto_insert/update/delete от репликации обрабатываются через box-process1
источник

KO

Konstantin Osipov in Tarantool
как и iproto_insert/update/delete от iproto
источник

KO

Konstantin Osipov in Tarantool
всё проходит через box_process1
источник

AK

Alexey Kuzin in Tarantool
А call?
источник

AK

Alexey Kuzin in Tarantool
или eval
источник

MA

Mons Anderson in Tarantool
Костя, не надо говорить как нельзя сделать. Говори, как можно :)
источник

AK

Alexey Kuzin in Tarantool
я посмотрел в iproto.cc и кажется там есть возможность вызывать box_process_call  из tx_process_select напрмиер
источник

AK

Alexey Kuzin in Tarantool
Просто ещё одну роутинговую табличку сделать, сейчас все IPROTO_{SELECT,INSERT,DELTE...} идут в  select_route и dml_route
источник

AK

Alexey Kuzin in Tarantool
И заполнять эту табличку при вызове спец функции типа register_callback(space_id, IPROTO_SELECT, f)
источник

AK

Alexey Kuzin in Tarantool
То же самое для функции tx_process1, там space_id есть в запросе, можно не роутить в box_process1 по умолчанию, а сначала проверять колбэк и роутить в box_process_call
источник