Домены .RU/.РФ

Автор Тема: Раздел 8. Транзакции  (Прочитано 8537 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Раздел 8. Транзакции
« : Апрель 28, 2015, 12:18:27 pm »
8.1  - 3
8.2  - 4 (upd 21.05.2015 http://forum.chistov.pro/index.php?topic=3503.msg39558#msg39558 и http://forum.chistov.pro/index.php?topic=3503.msg39566#msg39566)
8.3  - 5 
8.4  - 3
8.5  - 1
8.6  - 3
8.7  - 1
8.8  - 1
8.9  - 2

8.10 - 1
8.11 - 1
8.12 - 2
8.13 - 4
8.14 - 2
8.15 - 3
8.16 - 1
8.17 - 2
8.18 - 3
8.19 - 3

8.20 - 1
8.21 - 2
8.22 - 3
8.23 - 3
8.24 - 4
8.25 - 1
8.26 - 3
8.27 - 1
8.28 - 4
8.29 - 6

8.30 - 4
8.31 - 1
8.32 - 1
8.33 - 1
8.34 - 2
8.35 - 3
8.36 - 3
8.37 - 2
8.38 - 3
8.39 - 3
 
8.40 - 3
8.41 - 3
8.42 - 2
8.43 - 2
« Последнее редактирование: Май 21, 2015, 10:25:12 am от Droni »

tito33

  • Пользователь
  • **
  • Сообщений: 14
Re: Раздел 8. Транзакции
« Ответ #1 : Апрель 28, 2015, 02:49:51 pm »
Спасибо за труд

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #2 : Апрель 28, 2015, 03:25:10 pm »
Спасибо за труд
Вообще то я планировал посоветоваться по вопросам  с коллегами по цеху так сказать  :D
Не нужно думать что ответы правильные 100%, на edu.1c.ru/dist-training угадываю только на 78 -95%

Art_Mart

  • Новичок
  • *
  • Сообщений: 9
Re: Раздел 8. Транзакции
« Ответ #3 : Апрель 28, 2015, 06:51:30 pm »
на edu.1c.ru/dist-training угадываю только на 78 -95%
Т.е. там можно многократно теститься? Например зарегистрировался под левым ником и "перебираешь" тесты?

ilya138

  • Пользователь
  • **
  • Сообщений: 12
  • ФИО: Илья
Re: Раздел 8. Транзакции
« Ответ #4 : Апрель 28, 2015, 08:28:46 pm »
8.2 считаю что 3 ответ, т.к. Uncommited используется при чтении вне транзакции
8.31 хитрый вопрос, т.к. Согласованность (consistency) = Консистентность, Надежность (durability) = Устойчивость (прочность и тд), поэтому возможен ответ 3
8.37 - 2PL
8.38 - 3

Остальные совпали 1в1

6 Спецов + Эксперт

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #5 : Апрель 28, 2015, 11:31:33 pm »
на edu.1c.ru/dist-training угадываю только на 78 -95%
Т.е. там можно многократно теститься? Например зарегистрировался под левым ником и "перебираешь" тесты?
Да, только НЕ правильные ответы там не показывают.

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #6 : Апрель 28, 2015, 11:39:51 pm »
8.2 считаю что 3 ответ, т.к. Uncommited используется при чтении вне транзакции
Да, вы правы.

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #7 : Апрель 28, 2015, 11:41:40 pm »
8.2 считаю что 3 ответ, т.к. Uncommited используется при чтении вне транзакции
8.31 хитрый вопрос, т.к. Согласованность (consistency) = Консистентность, Надежность (durability) = Устойчивость (прочность и тд), поэтому возможен ответ 3
8.37 - 2PL
8.38 - 3

Остальные совпали 1в1
ок, спс.

Platon1C

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Андрей
Re: Раздел 8. Транзакции
« Ответ #8 : Май 10, 2015, 12:52:13 am »
хороший труд
мой вклад:
8.7 - ответ 4 ("Настольная книга 1С Эксперта", стр. 34. Первое предложение раздела 3.6)
8.16 - ответ 4, т.к. возможны два варианта: 1) чтение, если Т2 дождалась снятия блокировки; 2) Отвал Т2 из-за превышения времени ожидания (а это одно из определений "конфликта блокировок").
8.31, замечание ilya138 верное, но тут важно, как понятие определяет 1С. Слово "консистентность" не используется в официальных материалах 1С и не имеет определения. Плюс, смотрите формулировку вопроса 8.9. Поэтому, ответ - вариант 1. Автор темы здесь прав без сомнений.
« Последнее редактирование: Май 11, 2015, 03:33:31 pm от Platon1C »

st1llman

  • Пользователь
  • **
  • Сообщений: 26
  • ФИО: Дмитрий
Re: Раздел 8. Транзакции
« Ответ #9 : Май 10, 2015, 03:11:02 pm »
8.8 - 3 http://oarcle.livejournal.com/3981.html
8.13 - может быть 3 более правильный ответ?

Platon1C

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Андрей
Re: Раздел 8. Транзакции
« Ответ #10 : Май 11, 2015, 10:15:16 am »
8.8 - 3 http://oarcle.livejournal.com/3981.html
8.13 - может быть 3 более правильный ответ?

8.8 - 1. Зря ты опираешься на первое, что нашел в гугле. Смотри и копай глубже. Вот, например http://habrahabr.ru/post/72122/. А перевод слова не смутил? (undo - англ. аннулировать, отменить)
8.13 - нет, не может. Ответ 4. Тут без комментариев. На тему вложенности транзакций и счетчиков процедур открытия/закрытия транзакций ты вообще забил...

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #11 : Май 11, 2015, 10:39:57 am »
8.13 - может быть 3 более правильный ответ?
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000529
Цитировать
Система «1С:Предприятие» не поддерживает вложенных транзакций.
Это означает, что всегда действует только транзакция самого верхнего уровня. Все транзакции, вызванные внутри уже открытой транзакции, фактически относятся к той же транзакции, а не образуют вложенную транзакцию. Таким образом, отмена изменений, выполняемая во вложенной транзакции, будет приводить в конечном счете не к отмене изменений самой вложенной транзакции, а к отмене всех изменений транзакции верхнего уровня. В то же время фиксация изменений, выполненная во вложенной транзакции, игнорируется.

p0s0l

  • Новичок
  • *
  • Сообщений: 5
Re: Раздел 8. Транзакции
« Ответ #12 : Май 12, 2015, 09:54:52 pm »
Имхо:
8.16 = 4: Если блокирующая транзакция долго не оканчивается, произойдет тайм-аут ожидания, т.е. конфликт блокировок
8.40 = 2: Оптимистичная блокировка выполняется в момент записи объекта, и осуществляется платформой 1С путем сверки версии записываемого объекта с версией объекта в БД... А версия объекта первоначально получается при чтении объекта, т.е. при ПолучитьОбъект (объект неявно получается и расширением формы)...
« Последнее редактирование: Май 12, 2015, 09:57:26 pm от p0s0l »

Platon1C

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Андрей
Re: Раздел 8. Транзакции
« Ответ #13 : Май 21, 2015, 12:36:49 am »
8.2 считаю что 3 ответ, т.к. Uncommited используется при чтении вне транзакции
Да, вы правы.
Сомневался, что ответ 3 - проверил.
8.2 - 4. При RCSI не существует грязных чтений. Вне транзакции/внутри транзакции - не важно. Проверил (упр. режим + "без совместимости" + MS SQL 2012):
1) Обработка с текстом, под отладкой, с точкой останова на "Сообщить()":
   НачатьТранзакцию();
      полоб=Объект.ОбъектБлокировки.ПолучитьОбъект();
      полоб.Наименование="ИП ""Иванов"""+строка(ТекущаяДата());
      полоб.Записать();
      Сообщить("Записано");
   ОтменитьТранзакцию();
2) В другом сеансе
     2.1 Юзаю обработку:
   НачатьТранзакцию();
   новоб=Объект.ОбъектБлокировки.ПолучитьОбъект();   
   Сообщить(новоб.Наименование);
   ЗафиксироватьТранзакцию();
      2.2 Открываю форму списка контрагентов
      2.3 Смотрю консолью запросов.
      2.4 Юзаю обработку:
   новоб=Объект.ОбъектБлокировки.ПолучитьОбъект();   
   Сообщить(новоб.Наименование);
Итог - нету ни где из 4 списков (вариантов), которых я смотрел, грязного чтения, а значит и Read Uncommited нету. Причина - RCSI.
Вот обработка - смотрите сами
« Последнее редактирование: Май 21, 2015, 12:41:30 am от Platon1C »

Droni

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 97
Re: Раздел 8. Транзакции
« Ответ #14 : Май 21, 2015, 10:23:41 am »
8.2 -4. Проверил трассировки в профайлере:
В режиме совместимости с 8.2 запрос из формы списка документа:
exec sp_executesql N'SELECT
T1._IDRRef,
T1._Number,
T1._Date_Time FROM dbo._Document9 T1 WITH(NOLOCK)


То же самое без режима совместимости:
exec sp_executesql N'SELECT
T1._IDRRef,
T1._Number,
T1._Date_Time
FROM dbo._Document9 T1


Нет указания WITH(NOLOCK)  - значит используется уровень изоляции о умолчанию RCSI.

skeptik_m

  • Пользователь
  • **
  • Сообщений: 10
Re: Раздел 8. Транзакции
« Ответ #15 : Май 24, 2015, 02:26:35 pm »
8.7 - ответ 4 ("Настольная книга 1С Эксперта", стр. 34. Первое предложение раздела 3.6)

А вторым предложением в разделе 3.6 идет то что в вопросе вариант 3. При этом нам не предлагают вариантов ответа "истино 2 и 3" или истино "1,2,3". А только - или "1 и 2" или что-то одно.
В принципе все 3 ответа правильные,  но какой вариант ответа является правильным с точки зрения составитетелей - можно только гадать по кофейной гуще.

skeptik_m

  • Пользователь
  • **
  • Сообщений: 10
Re: Раздел 8. Транзакции
« Ответ #16 : Май 24, 2015, 03:07:33 pm »
Сомневался, что ответ 3 - проверил.
8.2 - 4. При RCSI не существует грязных чтений. Вне транзакции/внутри транзакции - не важно. Проверил (упр. режим + "без совместимости" + MS SQL 2012):

Тут есть засада. В вопросе не уточнена версия MS SQL.  А если у Вас будет MS SQL  версии ниже 2005 (а системные тербования 8.3. допускают использование MS SQL 2000), то никакого RCSI у Вас не будет от слов "совсем" и "вообще".  Зато будет Read Uncommited вне транзакций. По этому правильный ответ с точки зрения абстрактной истинности все-таки скорее 3. Но с точки зрения "правильности в контексте теста" нельзя полностью исключать и 4. 

tito33

  • Пользователь
  • **
  • Сообщений: 14
Re: Раздел 8. Транзакции
« Ответ #17 : Май 25, 2015, 12:49:14 am »
Имхо:
8.16 = 4: Если блокирующая транзакция долго не оканчивается, произойдет тайм-аут ожидания, т.е. конфликт блокировок
8.40 = 2: Оптимистичная блокировка выполняется в момент записи объекта, и осуществляется платформой 1С путем сверки версии записываемого объекта с версией объекта в БД... А версия объекта первоначально получается при чтении объекта, т.е. при ПолучитьОбъект (объект неявно получается и расширением формы)...

Это верные ответы.

Zheka

  • Пользователь
  • **
  • Сообщений: 13
Re: Раздел 8. Транзакции
« Ответ #18 : Май 28, 2015, 10:44:24 am »
С учебного тестирования:
8.7 - 4
8.8 - 3
8.10 - 2
8.16 - 4
8.31 - 3
8.40 - 2

aliluya-nn

  • Новичок
  • *
  • Сообщений: 3
Re: Раздел 8. Транзакции
« Ответ #19 : Июнь 03, 2015, 05:18:42 pm »
8.42 - ответ 1 ("Настольная книга 1С Эксперта", стр. 43. Раздел 3.6, "Транзакции, как явные, так и неявные, могут быть вложенные.")

novsys

  • Новичок
  • *
  • Сообщений: 1
Re: Раздел 8. Транзакции
« Ответ #20 : Июнь 10, 2015, 03:07:11 pm »
8.42 - ответ 1 ("Настольная книга 1С Эксперта", стр. 43. Раздел 3.6, "Транзакции, как явные, так и неявные, могут быть вложенные.")
а как же http://its.1c.ru/db/v83doc#bookmark:dev:TI000000529 - "ВНИМАНИЕ! Система «1С:Предприятие» не поддерживает вложенных транзакций."

vv55

  • Новичок
  • *
  • Сообщений: 8
Re: Раздел 8. Транзакции
« Ответ #21 : Июнь 25, 2015, 04:00:30 pm »
8.8- 3+

LepRiKonS

  • Пользователь
  • **
  • Сообщений: 52
    • www.korolevpavel.ru
  • ФИО: Павел
Re: Раздел 8. Транзакции
« Ответ #22 : Июль 25, 2015, 09:12:21 pm »
8.7  - 4 (Настольная Книга 1С:Эксперта, стр. 37, раздел 3.6)

LepRiKonS

  • Пользователь
  • **
  • Сообщений: 52
    • www.korolevpavel.ru
  • ФИО: Павел
Re: Раздел 8. Транзакции
« Ответ #23 : Июль 25, 2015, 09:27:57 pm »
8.42 - ответ 1 ("Настольная книга 1С Эксперта", стр. 43. Раздел 3.6, "Транзакции, как явные, так и неявные, могут быть вложенные.")
а как же http://its.1c.ru/db/v83doc#bookmark:dev:TI000000529 - "ВНИМАНИЕ! Система «1С:Предприятие» не поддерживает вложенных транзакций."
Действительно, в книге по Эксперту есть такая фраза. В последнем издании она на стр. 48.

Более того, там звучит все настолько двояко..
Наверное, надо все-таки опираться на книгу. Судя по тому, что написано, ответы про вложенные транзакции должны быть связаны с игнорированием.
Поэтому 8.42 - 3

LepRiKonS

  • Пользователь
  • **
  • Сообщений: 52
    • www.korolevpavel.ru
  • ФИО: Павел
Re: Раздел 8. Транзакции
« Ответ #24 : Июль 25, 2015, 09:37:17 pm »
8.43 - 2
Сомневался, но потом наткнулся:
https://its.1c.ru/db/metod8dev#content:5809:hdoc (тут поиск по CommitTransaction - будет 1 результат с примером)

ksudu

  • Новичок
  • *
  • Сообщений: 2
Re: Раздел 8. Транзакции
« Ответ #25 : Апрель 26, 2018, 07:24:42 pm »
8.43 - точно НЕ "Игнорируются". Проверено на боевой сдаче :) Все-таки думаю, что Поддерживаются.
« Последнее редактирование: Май 06, 2018, 05:59:15 pm от ksudu »