Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Имя транзакции / 25 сообщений из 33, страница 1 из 2
25.01.2022, 15:55
    #40129318
sysdba22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Эх, была бы возможность при старте транзакции передать на сервер ее имя, а потом посмотреть его в таблице MON$TRANSACTIONS... Золотые времена бы настали ))
...
Рейтинг: 0 / 0
25.01.2022, 15:57
    #40129320
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
чем номер не угодил?
...
Рейтинг: 0 / 0
25.01.2022, 16:58
    #40129343
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
и где гарантия что не будет такой же второй, третей...
...
Рейтинг: 0 / 0
25.01.2022, 17:18
    #40129349
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
sysdba22была бы возможность при старте транзакции передать на сервер ее имя, а потом
посмотреть его в таблице MON$TRANSACTIONS...

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

Изначально его формат был простой пачкой тэгов без значений, потом его
изуродовали тэгами блокировки. По-моему, не стоит продолжать эту плохую традицию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 17:37
    #40129356
sysdba22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Dimitry Sibiryakov

sysdba22была бы возможность при старте транзакции передать на сервер ее имя, а потом
посмотреть его в таблице MON$TRANSACTIONS...

Ты реально способен заполнить TPB или надеешься, что кто-то из


заполнял бы
...
Рейтинг: 0 / 0
25.01.2022, 17:50
    #40129359
sysdba22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Дегтярев Евгений
и где гарантия что не будет такой же второй, третей...


уникальность тут не требуется. это как дополнительный инструмент поиска ситуаций, когда какой-то код держит открытой транзакцию долго или не закрыл ее по какой-то причине.
...
Рейтинг: 0 / 0
25.01.2022, 18:26
    #40129374
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
sysdba22заполнял бы

Так заполняй контекстную переменную в пространстве имён USER_TRANSACTION.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 18:30
    #40129376
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
sysdba22,

можно написать трекеру, но обоснование должно быть убедительным
...
Рейтинг: 0 / 0
25.01.2022, 18:52
    #40129381
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
DS> Так заполняй контекстную переменную в пространстве имён USER_TRANSACTION.


+1
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 19:19
    #40129396
sysdba22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
не совсем то, хотелось бы без дополнительных запросов и обойтись только MON$ таблицами. Например, есть большая система. В рабочий день 300+ активных пользователей. Чтобы зайти в окошко (см. скриншот) и сразу понять не только, где висят долгие транзакции, но и идентифицировать что это за транзакция в коде. Чтобы быстро исправить.
...
Рейтинг: 0 / 0
25.01.2022, 19:23
    #40129398
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Ну так открой для себя MON$CONTEXT_VARIABLES.

И что за лицемерие: параметр в TPB он добавлять согласен, а запрос послать - нет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 21:00
    #40129420
ggreggory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
sysdba22
но и идентифицировать что это за транзакция в коде. Чтобы быстро исправить.


Если транзакция висит - значит выполняется какой-то статмент. По ид транзакции ищете статмент - разбираетесь с ним и кодом, который его запустил. Если инфы не достаточно, можно в текст SQL-запроса добавлять комментарий. Он в таблице мониторинга виден.
...
Рейтинг: 0 / 0
25.01.2022, 21:04
    #40129422
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
ggreggory
Если транзакция висит - значит выполняется какой-то статмент.
Не обязательно.
...
Рейтинг: 0 / 0
25.01.2022, 21:13
    #40129424
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
sysdba22> хотелось бы без дополнительных запросов
sysdba22> и обойтись только MON$ таблицами

Если ты про доп.запросы в клиентском ПО -
вызов rdb$set_context можно засунуть в любой
другой запрос (тем более, что у тебя наверняка
есть "служебные", не информационные запросы).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 21:15
    #40129425
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Собсно, даже больше/лучше - можно засунуть
вызов буквально в каждый информационный
запрос и найти сабж (проблемное место в коде)
не только на уровне транзакции, но и на уровне
запроса (да хоть процедуры)!

Профит!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 21:32
    #40129430
ggreggory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
hvlad
ggreggory
Если транзакция висит - значит выполняется какой-то статмент.
Не обязательно.


Хм... Имеется ввиду, что транзакция стартовала, выполнила запрос, но её не подтвердили и не откатили? Например, транзакция блокирующая запись таблицы с помощью select with lock.

Гаджимурадов Рустам

Профит!


Мой вариант с комментарием можно и в стандартном "Database monitoring" IBExpert-а лицезреть, а потом ещё и в трассировке видеть.
...
Рейтинг: 0 / 0
25.01.2022, 22:16
    #40129437
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
ggreggory> Мой вариант с комментарием

Да, согласен, комментарий прямо в
тексте запроса ещё проще, пожалуй.
Осталось уговорить Рокфеллера. :)

Правда, транзакции без запросов он
не покажет, но такие и не интересны.
Но я не уверен, возможны ли ситуации,
когда запрос уже закрылся (и в мониторинге
его уже нет), а транзакция (точнее сервер)
ещё шуршит - думаю, что возможны -
надо у Влада уточнять.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.01.2022, 23:55
    #40129445
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
ggreggory
Имеется ввиду, что транзакция стартовала, выполнила запрос, но её не подтвердили и не откатили?
Да, конечно.

Гаджимурадов Рустам
Но я не уверен, возможны ли ситуации,
когда запрос уже закрылся (и в мониторинге
его уже нет), а транзакция (точнее сервер)
ещё шуршит - думаю, что возможны
Если под "тр-ция шуршит" подразумевается "тр-ция ещё активна" - то да, запросто
...
Рейтинг: 0 / 0
26.01.2022, 01:10
    #40129449
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Гаджимурадов Рустам,

в снимках mon$ разных систем часто бывают ситуации - например, 100 коннектов, 90 транзакций, 10 запросов привязанных к транзакциям, и 10 тысяч запросов, которые не привязаны ни к какой транзакции.
Мне даже странно слышать, что "а могут быть транзакции, в которых нет активных запросов". Конечно могут. Стартанул транзакцию, и либо не выполняешь запрос вообще, либо выполняешь и его закрываешь.
Или разговор о чем-то другом?
...
Рейтинг: 0 / 0
26.01.2022, 12:05
    #40129542
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
hvlad> Если под "тр-ция шуршит" подразумевается "тр-ция ещё активна"

"Активна" понятие слишком расплывчатое -
так что именно шуршит, что-то там делает,
нагружает сервер (и возможно даже вполне
возможно, коннект не совсем "готов" для
следующих запросов с клиента).

Наверняка такое возможно, но сценарии
я описывать не возьмусь.


P.S. Ещё один минус предложенного
Григорием варианта с комментами в
тексте запросе - это то, что если коммент
будет "динамический" - изменяемый по
ходу работы приложения/транзакции -
то prepare будет вызываться каждый раз.
Мелочь, а неприятно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.01.2022, 12:16
    #40129544
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Гаджимурадов Рустам
"Активна" понятие слишком расплывчатое
Живая - понятнее ?

Гаджимурадов Рустам
так что именно шуршит, что-то там делает,
нагружает сервер
Без действий пользователя (приложения) сервер ничего не делает с пользовательской тр-цией.
Т.е. тр-ция не может "шуршать" если её об этом не просили.
Единственный вариант реальной "активности тр-ции" без наличия выполняемого SQL запроса - это её старт и завершение.
Но этим тоже управляет клиент (кроме случаев завершения сервера и принудительного отката всего).

Гаджимурадов Рустам
и возможно даже вполне
возможно, коннект не совсем "готов" для
следующих запросов с клиента.
Если сервер не занят выполнением текущего запроса клиента - он готов к выполнению следующего (опять же не рассматриваем завершение работы сервера).
Т.е. если сервер вернул ответ на запрос клиента, то он уже готов выполнять следующий запрос.

Итого - нет никакой волшебной активности сервера в контексте тр-ции\коннекта клиента, если клиент его об этом не просил. Не нужно выдумывать.
...
Рейтинг: 0 / 0
26.01.2022, 12:36
    #40129551
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
hvlad> Живая - понятнее ?

Нет. После старта, но без/до [первого] запроса она тоже живая.

> Т.е. тр-ция не может "шуршать" если её об этом не просили.

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


hvlad> Т.е. если сервер вернул ответ на запрос клиента,
hvlad> то он уже готов выполнять следующий запрос.

Зазор между "запрос пропал из мониторинга" и
"клиент получил ответ (сеть не учитываем) и
может отправлять след. запрос" имеется?


P.S. Я ничего не выдумываю, просто интересуюсь. :)
На всякий. Для пользы ТСа в основном и вообще. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.01.2022, 12:48
    #40129556
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Гаджимурадов Рустам
hvlad> Живая - понятнее ?

Нет. После старта, но без/до [первого] запроса она тоже живая.
И ? Что не понятно-то ? Тр-ция либо есть, либо её нет. Когда она есть - она "живая", "активная".


Гаджимурадов Рустам
hvlad> Т.е. если сервер вернул ответ на запрос клиента,
hvlad> то он уже готов выполнять следующий запрос.

Зазор между "запрос пропал из мониторинга" и
"клиент получил ответ (сеть не учитываем) и
может отправлять след. запрос" имеется?
Клиент не может отправить следующий запрос, пока не получил ответ на текущий.

Если уж совсем придираться, то клиент может "думать", что он отправил следующий запрос (в другом потоке),
но на самом деле один коннект не может войти в движок дважды одновременно.

Насчёт мониторинга - в принципе, посторонний коннект может выполнить запрос в мониторинг и не увидеть там
только что освобождённый запрос нашего клиента, причём до того как наш клиент об этом узнает (получит ответ).
Но как это всё связано с обсуждаемым "шуршанием тр-ции" - я так и не понял.
...
Рейтинг: 0 / 0
26.01.2022, 13:18
    #40129571
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
hvlad> пока не получил ответ на текущий.

Не, я не про клиента, я про сервер.
Если сервер отработал запрос - для
простоты представим, что это не
НД, а исполняемая процедура -
отправил ответ "клиенту", то всё, с
этого момента (и до след. API-вызова)
"в транзакции" никакой активности
быть не может, совсем-совсем?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.01.2022, 14:00
    #40129589
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имя транзакции
Гаджимурадов Рустам,

ты о сбросе грязных страниц Cache Writer'ом что ли?
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Имя транзакции / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]