| 
    
        
     
     | 
    
    
  | 
Взаимные блокировки | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Широкий    
     15.05.12 
            ✎
    13:37 
 | 
         
        Не могу придумать, как смоделировать сие.
  
        При этом режим блокировки конфы управляемый и без программных блокировок  | 
|||
| 
    1
    
        Широкий    
     15.05.12 
            ✎
    14:01 
 | 
         
        ап     
         | 
|||
| 
    2
    
        Лоботряс    
     15.05.12 
            ✎
    14:05 
 | 
         
        Два документа с прямым и обратным порядком проведения по нескольким регистрам.     
         | 
|||
| 
    3
    
        Широкий    
     15.05.12 
            ✎
    14:21 
 | 
         
        (2) Тут максимум что будет - это превышено время ожидания транзакции     
         | 
|||
| 
    4
    
        Stepa86    
     15.05.12 
            ✎
    14:27 
 | 
         
        (3) как раз дедлок и будет     
         | 
|||
| 
    5
    
        Широкий    
     15.05.12 
            ✎
    14:28 
 | 
         
        (4) в (0) "При этом режим блокировки конфы управляемый и без программных блокировок"
  
        Точно ли ?  | 
|||
| 
    6
    
        Stepa86    
     15.05.12 
            ✎
    14:32 
 | 
         
        (5) ну регистры то лочаться при записи по любому     
         | 
|||
| 
    7
    
        Широкий    
     15.05.12 
            ✎
    14:35 
 | 
         
        (6) Только на время чтения/записи     
         | 
|||
| 
    8
    
        Stepa86    
     15.05.12 
            ✎
    14:42 
 | 
         
        конфа: http://dl.dropbox.com/u/67530172/1Cv8.dt
  
        запускаешь 2 сеанса, один из них в отладке ставишь в одном доке точку останова после записи первого регистра, проводишь док, чтоб встало на нее во втором сеансе запускаешь проведение второго дока, как там все подвисает, F5 в отладчике - http://screencast.com/t/E6Geve28kGdp  | 
|||
| 
    9
    
        Лоботряс    
     15.05.12 
            ✎
    14:44 
 | 
         
        режим транзакции ведь READ-WRITE по-любому     
         | 
|||
| 
    10
    
        Широкий    
     15.05.12 
            ✎
    15:06 
 | 
         
        (8) Спасибо     
         | 
|||
| 
    11
    
        Stepa86    
     15.05.12 
            ✎
    15:14 
 | 
         
        (10) обращайся, чо =)     
         | 
|||
| 
    12
    
        Широкий    
     15.05.12 
            ✎
    15:34 
 | 
         
        (11) В файловов и серверном варианте уровни изоляции одинаковы?     
         | 
|||
| 
    13
    
        Stepa86    
     15.05.12 
            ✎
    15:43 
 | 
||||
| 
    14
    
        Лоботряс    
     15.05.12 
            ✎
    15:43 
 | 
         
        (12)  разные, насколько я помню     
         | 
|||
| 
    15
    
        rs_trade    
     15.05.12 
            ✎
    15:45 
 | 
         
        (9) че за режим такой?     
         | 
|||
| 
    16
    
        Лоботряс    
     15.05.12 
            ✎
    16:03 
 | 
         
        (15)разрешены чтение и модификация записей     
         | 
|||
| 
    17
    
        Лоботряс    
     15.05.12 
            ✎
    16:04 
 | 
         
        а два READ-WRITE в один момент времени существовать не могут     
         | 
|||
| 
    18
    
        Широкий    
     15.05.12 
            ✎
    16:29 
 | 
         
        (13) Ну значит если убрать автоматическую очистку движухи и принудительную запись наборов записей - то в скуле блокировка не возникнет (по крайне мере исходя из твоего пример)     
         | 
|||
| 
    19
    
        Stepa86    
     15.05.12 
            ✎
    16:34 
 | 
         
        (18) должно возникнуть, если по одному и тому же набору измерений писать     
         | 
|||
| 
    20
    
        Широкий    
     15.05.12 
            ✎
    16:36 
 | 
         
        (19) Думаешь возникнет? Движуху то мы отдаем 1с записывать     
         | 
|||
| 
    21
    
        Stepa86    
     15.05.12 
            ✎
    16:46 
 | 
         
        (20) ну чтоб наверняка, можно еще проверку на отрицательные значения воткнуть после каждой записи... залочит по набору с вероятностью в 146%.
  
        Так же по умолчанию скуль вроде б по диапазону лочит, это если не прописывать блокировку данных в 1Ске. а вообще от анализа дедлоков на теоретическом уровне у меня крышу сносит постоянно  | 
|||
| 
    22
    
        Широкий    
     15.05.12 
            ✎
    16:56 
 | 
         
        (21) В твоем примере дедлок вознкает потому, что в каждом документе дважды принудительно записываем набор записей. Если между этими записями вклинится - то пичаль, т.в файловом варианте блокировки накидываются на таблицу.
  
        Если же сделать как в (18).. То наборы записываются один раз. Перехлеста не будет.. Плюс в скуле блокировки на запиь и считывание данных запросом блокировку не делает  | 
|||
| 
    23
    
        Stepa86    
     15.05.12 
            ✎
    17:03 
 | 
         
        (22) >>считывание данных запросом блокировку не делает
  
        делают. Защита от фантомов. Если убрать принудительную запись наборов, то дедлоков есессно не будет, так как не будет взаимозахвата ресурсов, и этого дедлока даж в файловой не будет  | 
|||
| 
    24
    
        Широкий    
     15.05.12 
            ✎
    17:07 
 | 
         
        (23) Read commited, но после отработки запроса она снимается     
         | 
|||
| 
    25
    
        Stepa86    
     15.05.12 
            ✎
    17:10 
 | 
         
        (24) пофик когда снимается, главное, что ставиться и может привести к пичальке     
         | 
|||
| 
    26
    
        Широкий    
     15.05.12 
            ✎
    17:15 
 | 
         
        (25) Не могу придумать как такое возможно     
         | 
|||
| 
    27
    
        Stepa86    
     15.05.12 
            ✎
    17:27 
 | 
         
        (26) у меня было, простой запрос с ГДЕ таблица.Реквизит = &Реквизит лочил таблицу при чтении. Решилось тогда добавлением индекса на этот реквизит. Чо там происходило уже не помню     
         | 
|||
| 
    28
    
        Широкий    
     15.05.12 
            ✎
    17:32 
 | 
         
        (27) Он и лочит.. но не до дедлока. а индекс добавил - просто быстрее данные полуать стал     
         | 
|||
| 
    29
    
        Stepa86    
     15.05.12 
            ✎
    17:38 
 | 
         
        (28) разница в скорости там была незначительная, а ЦУПом и тест-центром я это дело нормально так гонял - до 50 одновременных потоков в одни и те же данные. и там был точно дедлок, а не таймаут     
         | 
|||
| 
    30
    
        МихаилМ    
     15.05.12 
            ✎
    19:16 
 | 
         
        то, что в 2005 было deadlock d 2008.. - timeuot     
         | 
|||
| 
    31
    
        Широкий    
     17.05.12 
            ✎
    14:23 
 | 
         
        Подниму тему..
  
        В серверном варианте без программных блокировок так и не удалось дед-лок получить  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |