SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002504SACS.Планета[All Projects] Багpublic24-09-2014 06:5216-04-2015 00:24
ReporterLeontiy 
Assigned Tovasketsov 
PriorityhighSeveritycrashReproducibilityalways
StatusclosedResolutionwon't fix 
PlatformWindowsOSXPOS VersionSP3
Product Version 
Target VersionFixed in Version 
Summary0002504: При работе на сетевом диске в многопользовательском режиме метки сохраняются у последнего кто вышел из программы
DescriptionУстановил SACS.Planet.Nightly.140202.783 на сетевой диск. При работе двух пользователей метки сохраняются у того кто вышел из программы последний. При выходе первого выскакивает сообщение в трее: "windows - ошибка отложенной записи. Не удалось сохранить все данные файла \путь к файлу\MarksDB.sqlitedb-shm. Часть данных потеряна. Эта ошибка может быть вызвана отказом оборудования компьютера или сетевого подключения. Попытайтесь сохранить".
TagsNo tags attached.
Attached Files

- Relationships
related to 0002420closedvasketsov Сохранение меток в многопользовательском режиме 

-  Notes
(0014673)
zed (manager)
24-09-2014 06:57

А потому что SQLite не предназначен для работы на сетевых дисках.
(0014674)
Leontiy (reporter)
24-09-2014 10:23

Ясно! А в ближайшем будущем можно ожидать такой работы от SAS/SACS? Или имеется другой способ работы на сетевых дисках?
(0014675)
zed (manager)
24-09-2014 18:33

Кто ж его знает, что там будет в будущем и чего от него можно ожидать. Следите за ночнушками.
(0014676)
Leontiy (reporter)
24-09-2014 22:46

Буду следить и ждать реализации! Спасибо за разъяснение.
(0014992)
vasketsov (manager)
24-11-2014 18:46

Напишите сюда, что именно у Вас в файлике MarksDB.sqlitedb.conn.sql содержится.

>SQLite не предназначен для работы на сетевых дисках
Ну, всё же не всё настолько плохо.
(0014993)
vasketsov (manager)
24-11-2014 18:48

Референсное содержимое должно быть такое:
PRAGMA page_size=1024
;
PRAGMA cache_size=100000
;
PRAGMA main.journal_mode=WAL
;
PRAGMA synchronous=NORMAL
;
(0014996)
zed (manager)
24-11-2014 19:22

> Ну, всё же не всё настолько плохо.

По крайней мере на виндах, всё плохо.

Atomic Commit In SQLite

9.1 Broken Locking Implementations

SQLite uses filesystem locks to make sure that only one process and database connection is trying to modify the database at a time. The filesystem locking mechanism is implemented in the VFS layer and is different for every operating system. SQLite depends on this implementation being correct. If something goes wrong and two or more processes are able to write the same database file at the same time, severe damage can result.

We have received reports of implementations of both Windows network filesystems and NFS in which locking was subtly broken. We can not verify these reports, but as locking is difficult to get right on a network filesystem we have no reason to doubt them. You are advised to avoid using SQLite on a network filesystem in the first place, since performance will be slow. But if you must use a network filesystem to store SQLite database files, consider using a secondary locking mechanism to prevent simultaneous writes to the same database even if the native filesystem locking mechanism malfunctions.

The versions of SQLite that come preinstalled on Apple Mac OS X computers contain a version of SQLite that has been extended to use alternative locking strategies that work on all network filesystems that Apple supports. These extensions used by Apple work great as long as all processes are accessing the database file in the same way. Unfortunately, the locking mechanisms do not exclude one another, so if one process is accessing a file using (for example) AFP locking and another process (perhaps on a different machine) is using dot-file locks, the two processes might collide because AFP locks do not exclude dot-file locks or vice versa.
(0014997)
vasketsov (manager)
24-11-2014 19:52

Читать надо тут:
http://sqlite.org/wal.html
Но в принципе ты прав, 100% работа не гарантируется.
Для настоящей многопользовательской работы надо в СУБД метки совать.
Но пока совсем не до этого.
(0014998)
vasketsov (manager)
24-11-2014 19:56

Попробуйте программу установить не на сетевой диск, а каждому локально.
После этого в ini пропишите пути до карт, меток и т.п., которые должны соответствовать общему сетевому диску.
Поработайте.
О результатах доложите.
(0015586)
vasketsov (manager)
16-04-2015 00:23

Пожалуй закрою, чтобы не висело.
Всё равно скоро метки в СУБД уедут.

- Users who viewed this issue
User List Anonymous (2040x), OfK (1x)
Total Views 2041
Last View 18-05-2024 22:32

- Issue History
Date Modified Username Field Change
24-09-2014 06:52 Leontiy New Issue
24-09-2014 06:57 zed Note Added: 0014673
24-09-2014 10:23 Leontiy Note Added: 0014674
24-09-2014 18:33 zed Note Added: 0014675
24-09-2014 22:46 Leontiy Note Added: 0014676
24-11-2014 18:46 vasketsov Note Added: 0014992
24-11-2014 18:48 vasketsov Note Added: 0014993
24-11-2014 18:53 vasketsov Relationship added related to 0002420
24-11-2014 19:22 zed Note Added: 0014996
24-11-2014 19:52 vasketsov Note Added: 0014997
24-11-2014 19:56 vasketsov Note Added: 0014998
16-04-2015 00:23 vasketsov Note Added: 0015586
16-04-2015 00:23 vasketsov Status new => closed
16-04-2015 00:24 vasketsov Assigned To => vasketsov
16-04-2015 00:24 vasketsov Resolution open => won't fix



Copyright © 2007 - 2024 SAS.Planet Team