|
по поводу конфликта блокировок | ☑ | ||
---|---|---|---|---|
0
Дева
31.08.16
✎
17:22
|
Подскажите с вопросом конфликта блокировок. У нас в базе одновременно работает около 80 человек, есть регистр сведений, в который необходимо писать при записи почти всех документов. Возможно ли избежать этой проблемы (конфликт блокировок) или лучше разделять как-то (для каждого типа документов отдельный регистр). Из регистра при записи ничего читать не надо
|
|||
1
Лефмихалыч
31.08.16
✎
17:24
|
Составьте график записи документов...
|
|||
2
Зая Бусечка
31.08.16
✎
17:26
|
Открой для себя управляемые блокировки
|
|||
3
polosov
31.08.16
✎
17:28
|
(0) СУБД какая?
|
|||
4
Господин ПЖ
31.08.16
✎
17:30
|
надеюсь файловая...
|
|||
5
Неверный Параметр И
31.08.16
✎
17:32
|
(0) Вы уже используете модный тренд по модальным диалогам в транзакциях?
|
|||
6
polosov
31.08.16
✎
17:33
|
(0) Если у вас реализован лог работы юзверей на РС, то переделывайте на текстовый файлик, по типу журнала регистрации.
|
|||
7
floody
31.08.16
✎
18:15
|
Какой у вас конфликт-то? Таймауты?
|
|||
8
hitodom
31.08.16
✎
18:26
|
вообще то запись в регистр не должна конфликтовать
|
|||
9
Cyberhawk
31.08.16
✎
18:27
|
Писать в регистр ближе к концу транзакции
|
|||
10
Jija Grenkov
31.08.16
✎
21:57
|
1. Управляемые блокировки, без блокировки.
2. Писать вне транзакции (например в событии послеЗаписиНаСервере) У регистра должно быть измерение с уникальным значением документа (ссылка на документ) |
|||
11
Cyberhawk
31.08.16
✎
22:50
|
(10) А как для пункта 2 обеспечить "неделимость" при, например, сбое в коде формы? Т.е. объект запишется в БД, а в регистре автора запись не появится - не комильфо?
|
|||
12
Jija Grenkov
31.08.16
✎
23:03
|
(11) Автор предоставил мало инфы. Возможно в его случае неделимостью можно принебречь. То есть не страшно, если пару записей в месяц потеряются
|
|||
13
Дева
01.09.16
✎
17:43
|
(3) postgresql
обычное приложение на данном регистре включен режим управляемых блокировок (10) 1) имеете ввиду РежимБлокировкиДанных.Разделяемый? |
|||
14
Лефмихалыч
01.09.16
✎
17:44
|
(13) а откуда уверенность, что блокировки именно на записи в этот регистр возникают?
|
|||
15
Fragster
гуру
01.09.16
✎
17:47
|
(13) если данный режим включен только на регистр, а в целом на документ - автоматический, то писать в этот регистр надо, например, в фоновом задании, стартованном из транзакции записи, чтобы транзакция записи в данный регистр была управляемая, а не автоматическая (пронаслдедованная от транзакции записи документа).
|
|||
16
Fragster
гуру
01.09.16
✎
17:47
|
стартованном из транзакции записи документа
|
|||
17
Fragster
гуру
01.09.16
✎
17:48
|
главный вопрос в том, как контролировать откат транзакции записи документа
|
|||
18
Дева
02.09.16
✎
10:09
|
(6) как в случае с записью в файл проследить что запись действительно завершена? есть куча подписок на событие "перед записью", "при записи", "при проведении", где возможен отказ
|
|||
19
Дева
02.09.16
✎
11:47
|
(7)ApplicationExclusiveLock
|
|||
20
polosov
06.09.16
✎
16:44
|
(18) Пиши лучше в ЖР. Свое городить - только тормоза добавлять.
|
|||
21
ptiz
06.09.16
✎
17:08
|
(0) "Возможно ли избежать этой проблемы (конфликт блокировок) " - блокировки вообще не должны возникать при правильном алгоритме записи в этот регистр.
|
|||
22
ptiz
06.09.16
✎
17:09
|
Скажу страшную вещь - лог можно вести на основе справочника, а не регистра, тогда не будет проблем с уникальностью записи (и блокировкой) вообще.
|
|||
23
Fragster
гуру
06.09.16
✎
17:10
|
(21) ну, блокировки возникают в результате неправильного (разного в разных транзакциях) порядка захвата ресурсов. обеспечить это в режиме изоляции serializable (который в постгре в автоматическом режиме) проблематично
|
|||
24
Fragster
гуру
06.09.16
✎
17:10
|
(22) а вот фиг
|
|||
25
ptiz
06.09.16
✎
17:30
|
(24) Почему?
|
|||
26
Fragster
гуру
06.09.16
✎
17:43
|
(25) потому что в постгре в автоматическом режиме блокировок уровень изоляции serializable
|
|||
27
Necessitudo
06.09.16
✎
18:25
|
(26) А для объектных сущностей не repeatable read?
|
|||
28
Дева
21.09.16
✎
10:24
|
И всё-таки спас перевод конфигурации на управляемые блокировки
|
|||
29
Cyberhawk
21.09.16
✎
11:30
|
(28) Подробнее
|
|||
30
Дева
21.09.16
✎
14:02
|
(29) в свойствах конфигурации поставила "режим управления блокировкой данных" на "Управляемый".
Правда появилась новая проблема. Теперь пишет: Превышено максимальное время ожидания предоставления блокировки =( |
|||
31
H A D G E H O G s
21.09.16
✎
14:10
|
sweet
Позовите специалиста. |
|||
32
Дева
21.09.16
✎
14:43
|
а нормальные советы имеются?
|
|||
33
H A D G E H O G s
21.09.16
✎
14:52
|
(32) Советы вам не помогут.
|
|||
34
Дева
21.09.16
✎
14:58
|
(33) грубиян, идите, пожалуйста, в другую тему
|
|||
35
Necessitudo
21.09.16
✎
16:02
|
(34) А галоперидол?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |