Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ISOLATION LEVEL / 12 сообщений из 12, страница 1 из 1
19.04.2005, 13:17
    #33022962
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Можно ли установить ISOLATION LEVEL в READ UNCOMMITTED ? Как прочесть данные, модифицируемые параллельной транзакцией?
...
Рейтинг: 0 / 0
19.04.2005, 13:58
    #33023107
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
msa@n-e.ruМожно ли установить ISOLATION LEVEL в READ UNCOMMITTED ? Как прочесть данные, модифицируемые параллельной транзакцией?


12.2. Transaction Isolation
...
PostgreSQL offers the Read Committed and Serializable isolation levels.


А можно ли поинтересоваться зачем?
ИМХО, если юзается грязное чтение, то "не всё спокойно в королевстве датском".
...
Рейтинг: 0 / 0
19.04.2005, 14:17
    #33023185
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Я чего-то не соображу, как узнать выполняется ли какая-либо транзакция. Вот в транзакции идет какой-то расчет, если идет расчет то вторая транзакция не должна запускаться
...
Рейтинг: 0 / 0
19.04.2005, 15:54
    #33023548
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Может лучше явный LOCK постребовать ? Тогда вторая не запустится, пока первая не завершится.
А если вторая вообще не должна запуститься, то LOCK NOWAIT и она откатится. Но нужно смотреть: определённые удобные уровни блока конфликтят с vacuum.
...
Рейтинг: 0 / 0
19.04.2005, 16:08
    #33023581
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Ну LOOK на какую-то таблицу надо ставить? Там в транзакции куча таблиц используется и, если честно, я ваще не понял откуда там deadlook
...
Рейтинг: 0 / 0
19.04.2005, 17:43
    #33023925
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
msa@n-e.ruя ваще не понял откуда там deadlook

Ах вон оно в чём дело!!! С этого и надо было начинать.

Такая хрень, как правило, происходит при неправильной последовательности действий. Например, есть 2 ф-ции:
в первой происходит
- апдейт таблица_1
- апдейт таблица_2
во второй
- апдейт таблица_2
- апдейт таблица_1

Всё. Дедлок гарантирован. При большой нагрузке точно вылезет. 90% случаев из-за этого.

А про понижение уровеня изоляции я выше высказался.
...
Рейтинг: 0 / 0
19.04.2005, 18:15
    #33024012
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
да я понимаю откуда может дедлок браться впринципе :-) просто не понимаю откуда он у меня :-))) на первый взгляд таких апдейтов у меня нету в транзакциях, но видимо надо внимательнее смотреть
...
Рейтинг: 0 / 0
19.04.2005, 18:40
    #33024059
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
msa@n-e.ruда я понимаю откуда может дедлок браться впринципе :-) просто не понимаю откуда он у меня :-))) на первый взгляд таких апдейтов у меня нету в транзакциях, но видимо надо внимательнее смотреть

Включаешь логирование запросов и гонишь тест. Смотришь в каком потоке произошёл дедлок и выше по логу смотришь какой запрос это вызвал.
Будет по крайней мере информация от чего отталкиваться при поиске.
...
Рейтинг: 0 / 0
19.04.2005, 19:59
    #33024088
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
а тест откуда взять? :-) дедлок то вызывает конкретное приложение, даже конкретный кусок кода в приложении или пытаться параллельно выполнить все со всеми транзакции которые есть в приложении ? :-))
...
Рейтинг: 0 / 0
19.04.2005, 20:10
    #33024093
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
msa@n-e.ruа тест откуда взять? :-) дедлок то вызывает конкретное приложение, даже конкретный кусок кода в приложении или пытаться параллельно выполнить все со всеми транзакции которые есть в приложении ? :-))

Тут конечно хуже. При отладке движка веб-сайта мы просто нагрузили Апач Jmeter-ом на подозрительных участках.
Как вариант врубить логирование и просто работать дальше. Когда сработает, тогда и смотреть. Других вариантов не возникает.
Место для лога только надо высвободить - его ОЧЕНЬ много надо. :-(((
Приложение вы разрабатываете или оно пришлое?
...
Рейтинг: 0 / 0
19.04.2005, 20:12
    #33024096
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Разрабатываем
...
Рейтинг: 0 / 0
19.04.2005, 20:18
    #33024101
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ISOLATION LEVEL
Пойду я спать пожалуй-ка....
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ISOLATION LEVEL / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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