Многопоточность БД

Asmus003

Client
Регистрация
25.03.2018
Сообщения
181
Благодарностей
61
Баллы
28
Работала я на 5.17.1 все время, было несколько шаблонов, которые получали и редактировали записи из БД. В многопотоке все летало. Потом столкнулась с тем, что нужно было установить версию с куки контейнером. Скачала 5.22 и поняла, что там потоки не блокируются в кубике. Попробовала 5.18 и 5.20, там тоже не блокируются. Вернулась на свою 5.17 и поняла, что и здесь теперь ничего не блокируется...Т.е. 10 потоков могут взять 1-2-3 первых строки, хотя раньше четко брали 1-10 без перебоев. Пробовала удалять программу. Все полностью удалила, вплоть до значений реестра. Установила 5.17 - заработало!) Но тогда прокси стали удаляться из проксичекера при перезагрузке софта :-) (галочка в настройках ен стояла). Снова переустановила версию - прокси заработали, но многопоточность нет.
Раньше он открывал 1 поток, брал строку, затем ставил статус в БД, что она занята и потом открывался следующий поток. Теперь компиляция не начинается до того момента, как не запустсятся все 10 потоков, и соответсвенно они берут одну и ту же строку.
Что это за баг и что можно с ним сделать? На код С# я пока не тяну, чтобы переписать проект.
 

Asmus003

Client
Регистрация
25.03.2018
Сообщения
181
Благодарностей
61
Баллы
28
Работала я на 5.17.1 все время, было несколько шаблонов, которые получали и редактировали записи из БД. В многопотоке все летало. Потом столкнулась с тем, что нужно было установить версию с куки контейнером. Скачала 5.22 и поняла, что там потоки не блокируются в кубике. Попробовала 5.18 и 5.20, там тоже не блокируются. Вернулась на свою 5.17 и поняла, что и здесь теперь ничего не блокируется...Т.е. 10 потоков могут взять 1-2-3 первых строки, хотя раньше четко брали 1-10 без перебоев. Пробовала удалять программу. Все полностью удалила, вплоть до значений реестра. Установила 5.17 - заработало!) Но тогда прокси стали удаляться из проксичекера при перезагрузке софта :-) (галочка в настройках ен стояла). Снова переустановила версию - прокси заработали, но многопоточность нет.
Раньше он открывал 1 поток, брал строку, затем ставил статус в БД, что она занята и потом открывался следующий поток. Теперь компиляция не начинается до того момента, как не запустсятся все 10 потоков, и соответсвенно они берут одну и ту же строку.
Что это за баг и что можно с ним сделать? На код С# я пока не тяну, чтобы переписать проект.
Иногда может даже первые пару потоков обработать нормально, т.е. по очереди. А потом сбивается все в кучу снова...
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Скиньте пример с кубиком, посмотрим что можно сделать.
 

Asmus003

Client
Регистрация
25.03.2018
Сообщения
181
Благодарностей
61
Баллы
28
Скиньте пример с кубиком, посмотрим что можно сделать.
Я для тестов создала простой кубик: берет строчку с данными, затем ставит статус 'work' и выводит значение переменной из БД.
Вот даже он не всегда корректно запускается.
https://prntscr.com/musc5y
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Я имел ввиду шаблон с кубиком.
 

Asmus003

Client
Регистрация
25.03.2018
Сообщения
181
Благодарностей
61
Баллы
28

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)