Bug 3053

Summary: 1С7.7: Проблемы в совместной работе на сетевых базах
Product: CIFS@Etersoft Reporter: Konstantin Baev <kipruss>
Component: блокировки файлов и доступAssignee: Евгений Синельников <sin>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: baraka, imelnikov, kondratyuk, lav, lbeasty, leonid, maxt_t, nechaev, piastry
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 3392    
Bug Blocks: 760, 961, 3044, 3179, 3589    

Description Konstantin Baev 2008-12-02 17:11:28 MSK
Вот несколько ссылок. Возможно проблема одна на всех:

Цитирую выборочно:

1. http://bugs.etersoft.ru/show_bug.cgi?id=1185#c27
и http://bugs.etersoft.ru/show_bug.cgi?id=3017#c7 что то же самое

Очень интересная ситуация: Запуск ОДНОГО клиента Linux + один клиент с
Windows машины - все ок. Запуск ДВУХ клиентов Linux с отключенным или подключенным клиентом Windows - один Linux-клиент - ок, на втором "Программа была завершена аварийно. Для восстановления индексных файлов запустите прграмму в монопольном режиме".

2. http://rt.etersoft.ru/Ticket/Display.html?id=8962#txn-131900

И еще проблема - основная часть юзеров работает в сервере терминалов через бездисковые станции. С ними все в порядке. Но при работе с WinXP можно подключиться к уже открытой в линуксе базе 1с в МОНОПОЛЬНОМ режиме. Периодически /довольно часто/ базы приходится индексировать. Вот такая проблема...

3. http://unixforum.org/index.php?showtopic=78712 - etercifs проблемы wine@etersoft SQL 1.09, не работает разделяемый доступ с локально запущенной 1С 7.7

Если локально на файловом сервере запустить 1С 7.7, то больше никто не сможет зацепиться, если же работают клиенты по сети, то локально 1С-ка не запустится. Выдает ошибку "Доступ к базе данных на сервере возможен только из одного каталога информационной базы"

4. http://unixforum.org/index.php?showtopic=79140 - Проблема с 1С 7.7 в новом WINE@Etersoft 1.0.9 Network

...вдруг клиент с 1.0.9 перестал подключаться к базе. Вернее процесс подключения начинается, но вместо входа в 1С появляется предупреждение о испорченных индексах и необходимости переиндексации базы. При этом остальные клиенты продолжают работать, отключаться и подключаться.

5. У нас в http://wiki.etersoft.ru/WINE/knownbugs написано

С использованием etercifs в гетерогенной сети известна проблема, при которой совместный режим нарушается (программы «не видят» друг друга, и возможно перезаписывание и порча данных), если сначала подключиться к базе с Linux-машины, потом – с Windows-машины. Решение планируется к 01 декабря. Будет сделана рассылка по пользователям сетевых версий.

баги по этой проблеме с ходу не нашёл
Comment 1 Konstantin Baev 2008-12-02 17:29:03 MSK
(In reply to comment #0)
> 3. http://unixforum.org/index.php?showtopic=78712 - etercifs проблемы
> wine@etersoft SQL 1.09, не работает разделяемый
> доступ с локально запущенной 1С 7.7
> 
> Если локально на файловом сервере
> запустить 1С 7.7, то больше никто не сможет
> зацепиться, если же работают клиенты по
> сети, то локально 1С-ка не запустится.
> Выдает ошибку "Доступ к базе данных на
> сервере возможен только из одного каталога
> информационной базы"

Вот эта проблема решалась заменой etercifs на linux-cifs, что на мой взгляд нужно отметить.
Comment 2 Maxim Stjazhkin 2008-12-02 20:19:42 MSK
Относительно http://bugs.etersoft.ru/show_bug.cgi?id=3017#c7
Экспериментировал с настройками smb.conf
Отключил вообще блокировки:

[sharewine]                                                                                                                                                  
        locking = no

Поведение клиентов вообще не поменялось. Все та же ошибка. Создается впечатление, что у меня эти блокировки и не включаются вообще.
Есть какие-нибудь средства проверки включения этих блокировок?

Comment 3 Vitaly Lipatov 2008-12-09 16:20:54 MSK
Средство для проверки блокировок - winelocktest,
его надо запустить под рутом в смонтированном с noperm CIFS-ресурсе.
Comment 4 Leonid Shadevsky 2008-12-09 16:29:26 MSK
> Вот эта проблема решалась заменой etercifs на
> linux-cifs, что на мой взгляд нужно отметить.

в заявке http://rt.etersoft.ru/Ticket/Display.html?id=9136 
из общения по джабберу выяснилось, что
использование linux-cifs-3.4.1 не помогает
suse 10.3, wine 1.0.9, cifs 3.3-3.8

Comment 5 Vitaly Lipatov 2008-12-09 16:33:34 MSK
linux-cifs нужен 1.48
Comment 6 Konstantin Baev 2008-12-09 18:13:46 MSK
(In reply to comment #5)
> linux-cifs нужен 1.48
> 

Выпущен etercifs-4.0.0 с опцией монтирования "forcemand" ( см. http://bugs.etersoft.ru/show_bug.cgi?id=2220#c32 ). Есть надежда, что это может исправить ситуацию.
Comment 7 Vitaly Lipatov 2008-12-10 10:59:17 MSK
Вы пожалуйста договоритесь с baraka@, он считает, что этот параметр ни на что не влияет.
Comment 8 Евгений Синельников 2008-12-10 12:33:11 MSK
(In reply to comment #7)
> Вы пожалуйста договоритесь с baraka@, он
> считает, что этот параметр ни на что не
> влияет.
> 

Хотелось бы увидеть ссылку на результаты тестирования и их интерпретацию, в которой приведены случаи, когда этот флаг может быть полезен.

Если я не ошибаюсь, то флаг появился на реальной проблеме, которая проявлялась в исчезновении Linux-пользователя на Windows-клиенте в 1Сv7.7 при совместной работе. Хотелось бы услышать комментарии и дополнения "очевидцев".
Comment 9 Konstantin Baev 2008-12-17 12:44:14 MSK
Думаю относится сюда же:

http://rt.etersoft.ru/Ticket/Display.html?id=9237

Цитирую:

При установки версии 1.0.9 возникают проблемы с работой сетевых баз 1С
(например, при запуске плоской БД 7.7, в случае, если уже есть
подключённые к ней пользователи, выдаётся сообщение о том, что программа
была завершена аварийно и предлагается произсести реиндексацию, что по
всей видимости говори о некорректной отработке блокировок).
Ошибка возникает вне зависимостио от расположения БД, что на виндовой
шаре, что на никсовой с Самбой.
Платформа Debian 4.0
Пробовали сборку ether15.

Релиз 1.0.8 относительно успешно работает уже примерно с год.
Comment 10 Konstantin Baev 2009-01-06 16:36:02 MSK
Сюда же http://rt.etersoft.ru/Ticket/Display.html?id=9356

Воспроизвести не сумел. Писал по ошибке в багу http://bugs.etersoft.ru/show_bug.cgi?id=3179#c1 

Впрочем и сама бага 3179 своей ошибкой повторяет пункт 3 первого сообщения тут.
Comment 11 Konstantin Baev 2009-01-26 16:53:33 MSK
(In reply to comment #7)
> Вы пожалуйста договоритесь с baraka@, он
> считает, что этот параметр ни на что не
> влияет.
> 

Влияет по крайней мере вот в таком случае:

Запускаю с двух пользователей 1С77 SQL. Запущена SELTA и Postgres на localhost с базой.

Каталог с базой:

[baseselta]
  path = /home/kipruss/baseselta
  public = yes
  browseable = yes
  writable = yes
  guest ok = yes
  force user = kipruss

Монтирование:
mount -t cifs //valhalla/baseselta /home/kipruss/base -o noperm,forcemand
mount -t cifs //valhalla/baseselta /home/mastersin/base -o noperm,forcemand

В результате запуска 1С с указанными параметрами монтирования в окне активных пользователей видны оба пользователя, а без опции forcemand - только один, текущий.

Тестирование проводилось дабы попытаться воспроизвести ситуацию, описанную в заглавном сообщении баги в п. 1.
Comment 12 Konstantin Baev 2009-01-27 15:06:55 MSK
Итак, пункт 1 сам собой выделился в отдельную багу http://bugs.etersoft.ru/show_bug.cgi?id=3392
Симптомы одинаковые, также трудно воспроизвести. Немного разные конфигурации, но везде Самба-сервер - или Red Hat или CentOS
Comment 13 Vitaly Lipatov 2009-07-03 18:27:48 MSD
Итак, проблем с etercifs такого плана в настоящий момент нет.