Size: a a a

2020 May 28

AB

Anton Bashirov in Tarantool
Не спорю, с этим согласен
источник
2020 May 29

EL

Eugene Leonovich in Tarantool
Почему при создании ошибки через box.error (или box.error.new) текс ошибки задается через ключ reason, но уже у созданного объекта ошибки он уже называется message? Как то неожиданно, я не мог понять почему у меня err.reason возвращал null. Есть какие-то веские причины именовать это поле по-разному?
источник

EL

Eugene Leonovich in Tarantool
источник

EL

Eugene Leonovich in Tarantool
налицо нарушение принципа наименьшего удивления :)
источник

VS

Vladislav Shpilevoy in Tarantool
Eugene Leonovich
Почему при создании ошибки через box.error (или box.error.new) текс ошибки задается через ключ reason, но уже у созданного объекта ошибки он уже называется message? Как то неожиданно, я не мог понять почему у меня err.reason возвращал null. Есть какие-то веские причины именовать это поле по-разному?
Исторические причины. В конструкторе оно всегда было reason, в объекте всегда было message. Поменять было бы круто, но уже поздно. Слишком много где используется в таком виде
источник

VS

Vladislav Shpilevoy in Tarantool
Почему так было изначально - сложно сказать. Я не застал
источник

EL

Eugene Leonovich in Tarantool
можно в констукторе добавить возможность использовать message наряду с reason
источник

EL

Eugene Leonovich in Tarantool
reason депрекейтнуть, и удалить в версии Tarantool 6 :)
источник

VS

Vladislav Shpilevoy in Tarantool
Ох
источник

D

Dmitry in Tarantool
Добрый день! Пытаюсь отладить приложение (cartridge). Поставил в коде точку останова debug.debug(), запускаю интеграционный тест, выполнение останавливается, в консоле ввожу названия переменных или любой другой код - вычислений никаких не происходит. Я что-то делаю не так?
источник

MM

Max Melentiev in Tarantool
Dmitry
Добрый день! Пытаюсь отладить приложение (cartridge). Поставил в коде точку останова debug.debug(), запускаю интеграционный тест, выполнение останавливается, в консоле ввожу названия переменных или любой другой код - вычислений никаких не происходит. Я что-то делаю не так?
добрый день! это луатест? запускаете тесты с ключом -с?
источник

MM

Max Melentiev in Tarantool
с ним хотя бы приветствие дебагера должно быть видно. но как можно дебажить внешний инстанс пока не понятно. ведь он для луатеста как внешний процесс. стдаут его вы увидите, но стдин до него не прокидывается наверное
источник

А

Андрей in Tarantool
доброе утро.
Приложение java работало напрямую с tarantool используя вызов
tarantoolClient.asyncOps().insert("space", ArrayList)

Сейчас приложние должно ходить через роутер.
Можно ли подменить данную функцию  внутри роутера, чтобы не менять код клиентского приложения?
Если написать в роли роутера функцию insert, то работает уже другой вызов
tarantoolClient.asyncOps().call("insert",...)
источник

AK

Alexey Kuzin in Tarantool
Там же ещё bucket_id надо будет передавать, если я правильно понял что вы хотите сделать
источник

А

Андрей in Tarantool
bucket id я хотел генерировать через хэш функцию в зависимости от передаваемых данных внутри роутера
источник

AK

Alexey Kuzin in Tarantool
Андрей
доброе утро.
Приложение java работало напрямую с tarantool используя вызов
tarantoolClient.asyncOps().insert("space", ArrayList)

Сейчас приложние должно ходить через роутер.
Можно ли подменить данную функцию  внутри роутера, чтобы не менять код клиентского приложения?
Если написать в роли роутера функцию insert, то работает уже другой вызов
tarantoolClient.asyncOps().call("insert",...)
insert() использует команду IPROTO_INSERT бинарного протокола. Поэтому такое возможно будет только если роутер сможет запроксировать эту команду, чтобы она не выполнялась как box.space.*.insert(). На это есть тикет https://github.com/tarantool/tarantool/issues/5012
источник

AK

Alexey Kuzin in Tarantool
Предлагаю поставить ему лайк
источник

А

Андрей in Tarantool
Alexey Kuzin
Предлагаю поставить ему лайк
сделано), спасибо за информацию
источник

KO

Konstantin Osipov in Tarantool
@akudiyar и @inthrax тикет этот - дуп, который сформулирован так, что сделать его нормально невозможно. если я перестал спорить с вами об этом в тикетнице, так это только чтобы не засорять базу
источник

AK

Alexey Kuzin in Tarantool
Я подумаю, как сделать в новой версии клиента подмену insert на call прозрачным образом для приложения.
источник