SASGIS - SAS.Планета
View Issue Details
0001996SAS.Планета[All Projects] Багpublic30-06-2013 17:2811-07-2013 13:45
rudepravo 
 
normalcrashalways
closedno change required 
WindowsXPSP3
.Nightly 
 
0001996: BerkeleyDB Env: unable to join the environment
При запуске ночнушки 7323 и включенной основной карте Google-спутник, слоях Гугл-гибрид и векторная Викимапия падает в ошибку.

Кэш - Беркли.
BerkeleyDB, БД
has duplicate 0002062closed zed [BDB ErrCall] BerkeleyDB Env: unable to join the environment [root path: g:\cache_dbv\sat_all_v1\] 
? Berkeley_error_SASPlanet.Debug.elf (87,157) 30-06-2013 17:28
http://www.sasgis.org/mantis/file_download.php?file_id=1421&type=bug
log sdb_util.log (1,983) 30-06-2013 17:28
http://www.sasgis.org/mantis/file_download.php?file_id=1422&type=bug
? TBerkeleyDBPool.Acquire.SASPlanet.Debug.elf (87,651) 30-06-2013 17:30
http://www.sasgis.org/mantis/file_download.php?file_id=1423&type=bug
log sdb.log (178,564) 30-06-2013 18:03
http://www.sasgis.org/mantis/file_download.php?file_id=1424&type=bug
log no_space_sdb_util.log (1,441,768) 01-07-2013 18:06
http://www.sasgis.org/mantis/file_download.php?file_id=1426&type=bug
log msg.log (1,307) 01-07-2013 18:06
http://www.sasgis.org/mantis/file_download.php?file_id=1427&type=bug
Issue History
30-06-2013 17:28rudepravoNew Issue
30-06-2013 17:28rudepravoFile Added: Berkeley_error_SASPlanet.Debug.elf
30-06-2013 17:28rudepravoFile Added: sdb_util.log
30-06-2013 17:29rudepravoNote Added: 0011931
30-06-2013 17:30rudepravoFile Added: TBerkeleyDBPool.Acquire.SASPlanet.Debug.elf
30-06-2013 17:33rudepravoNote Added: 0011933
30-06-2013 17:35zedNote Added: 0011934
30-06-2013 17:40zedNote Added: 0011935
30-06-2013 18:03rudepravoFile Added: sdb.log
30-06-2013 18:04rudepravoNote Added: 0011936
30-06-2013 18:05rudepravoNote Edited: 0011936bug_revision_view_page.php?bugnote_id=11936#r5547
30-06-2013 18:10zedNote Added: 0011937
30-06-2013 18:19rudepravoNote Added: 0011938
30-06-2013 18:33zedNote Added: 0011939
30-06-2013 18:52zedStatusnew => confirmed
30-06-2013 18:52zedSummaryError 184 при открытии Google-карт => BerkeleyDB Env: unable to join the environment
01-07-2013 16:55zedAssigned To => zed
01-07-2013 16:55zedStatusconfirmed => feedback
01-07-2013 18:06rudepravoFile Added: no_space_sdb_util.log
01-07-2013 18:06rudepravoFile Added: msg.log
01-07-2013 18:08rudepravoNote Added: 0011949
01-07-2013 18:08rudepravoStatusfeedback => assigned
01-07-2013 18:12rudepravoNote Edited: 0011949bug_revision_view_page.php?bugnote_id=11949#r5549
01-07-2013 18:13zedNote Added: 0011951
01-07-2013 18:24rudepravoNote Added: 0011954
01-07-2013 18:28zedNote Added: 0011957
01-07-2013 18:49rudepravoNote Added: 0011961
01-07-2013 18:52zedNote Added: 0011962
01-07-2013 18:52rudepravoNote Edited: 0011961bug_revision_view_page.php?bugnote_id=11961#r5553
01-07-2013 20:38zedNote Added: 0011963
01-07-2013 21:33rudepravoNote Added: 0011969
01-07-2013 21:36zedNote Added: 0011970
01-07-2013 21:49zedStatusassigned => closed
01-07-2013 21:49zedAssigned Tozed =>
01-07-2013 21:49zedResolutionopen => no change required
11-07-2013 13:45zedTag Attached: BerkeleyDB
11-07-2013 13:45zedTag Attached: БД
06-08-2013 11:45zedRelationship addedhas duplicate 0002062

Notes
(0011931)
rudepravo   
30-06-2013 17:29   
Также рандомно падает при TBerkeleyDBPool.Acquire (elf - в аттаче)
(0011933)
rudepravo   
30-06-2013 17:33   
Кэш Беркли - неверсионный
(0011934)
zed   
30-06-2013 17:35   
Нужен sdb.log
(0011935)
zed   
30-06-2013 17:40   
И не помешало бы прогнать кэш новой версией sdb_util в режиме "Restore cache after crash: Recover & Verify (default)" (первый пункт из списка) и приложить сюда лог.
(0011936)
rudepravo   
30-06-2013 18:04   
(edited on: 30-06-2013 18:05)
Прогнал. sdb_util ничего ошибочного не нашёл, а тем не менее Гугл-падает в строке 184 на любых масштабах. Может свою Беркли-базу(масштабов z1-z7) куда-то выложить?

sdb.log - в аттаче

(0011937)
zed   
30-06-2013 18:10   
Вот в чём проблема: BerkeleyDB Env: unable to join the environment u:\sasplanet\cache_db\sat\
Возможно, если вы удалите файл __db.register в папке env, то это поможет.
(0011938)
rudepravo   
30-06-2013 18:19   
Не спасло.
(0011939)
zed   
30-06-2013 18:33   
В папке env должно было остаться всего 2 файла: log и DB_CONFIG, правильно?

Меня смущает, что оно ругается на папку sat, хотя по идее, должно бы на папку sat\env\

Добавьте в DB_CONFIG строчки:

set_verbose DB_VERB_DEADLOCK
set_verbose DB_VERB_FILEOPS
set_verbose DB_VERB_FILEOPS_ALL
set_verbose DB_VERB_RECOVERY
set_verbose DB_VERB_REGISTER
set_verbose DB_VERB_REPLICATION
set_verbose DB_VERB_REP_ELECT
set_verbose DB_VERB_REP_LEASE
set_verbose DB_VERB_REP_MISC
set_verbose DB_VERB_REP_MSGS
set_verbose DB_VERB_REP_SYNC
set_verbose DB_VERB_REP_SYSTEM
set_verbose DB_VERB_REPMGR_CONNFAIL
set_verbose DB_VERB_REPMGR_MISC
set_verbose DB_VERB_WAITSFOR

и после перезапуска САСа, в папке с кэшем должен появиться msg.log. Возможно из него будет более понятно, что там с env.

Ну и самое последнее, что могу предложить, так это сделать Reset lsn и полностью удалить папку env. Начать с чистого листа, если так можно сказать.
(0011949)
rudepravo   
01-07-2013 18:08   
(edited on: 01-07-2013 18:12)
На z6 прогнал ещё раз sdb_util, ругается на то, что 71Gb ему не хватает для восстановления. Тоже самое на z7. База всё - погибла?

Логи msd.log и no_space_sdbutil.log - в аттаче.

PS: оказывается что места sdb_util не хватало на диске C:

(0011951)
zed   
01-07-2013 18:13   
Подождите, только что, вы писали что с файлами БД всё в порядке, и тут вдруг на ровном месте какие-то ошибки. Что изменилось с прошлой проверки?
(0011954)
rudepravo   
01-07-2013 18:24   
Да ничего не поменялось. Я откатился на релизную 121010, что-то ей поковырял, а потом прогнал на кэше ещё раз sdb_util и получил следующий error:

>> db_verify 9.4.sdb [U:\SASPlanet\cache_db\sat\z13\2\1\]

db_verify: Page 25643: incorrect prev_pgno 25655 found in leaf chain (should be 317791)

db_verify: Page 51107: bad prev_pgno 51108 on overflow page (should be 51106)

db_verify: Page 51106: bad prev_pgno 51105 on overflow page (should be 51107)
db_verify: Page 51106: overflow page linked twice from leaf or data page
db_verify: Page 71058: first page in overflow chain has a prev_pgno 71059
db_verify: Page 67139: overflow item incomplete
db_verify: Page 73091: first page in overflow chain has a prev_pgno 73092
db_verify: Page 73091: overflow item incomplete
db_verify: Page 75078: first page in overflow chain has a prev_pgno 75079
db_verify: Page 73091: overflow page linked twice from leaf or data page
db_verify: Page 77037: first page in overflow chain has a prev_pgno 77038
db_verify: Page 77037: overflow item incomplete
db_verify: Page 78971: first page in overflow chain has a prev_pgno 78970
db_verify: Page 77069: overflow item incomplete
db_verify: Page 71069: first page in overflow chain has a prev_pgno 86471
db_verify: Page 71058: overflow page linked twice from leaf or data page
db_verify: Page 73108: first page in overflow chain has a prev_pgno 73109
db_verify: Page 73108: overflow page linked twice from leaf or data page
db_verify: Page 75094: first page in overflow chain has a prev_pgno 86468
db_verify: Page 75078: overflow page linked twice from leaf or data page
db_verify: Page 77046: first page in overflow chain has a prev_pgno 77047
db_verify: Page 75095: overflow item incomplete
db_verify: Page 75110: first page in overflow chain has a prev_pgno 77046
db_verify: Page 75110: overflow page linked twice from leaf or data page
db_verify: Page 77055: first page in overflow chain has a prev_pgno 77056
db_verify: Page 77046: overflow page linked twice from leaf or data page

db_verify: Page 77055: overflow page linked twice from leaf or data page
db_verify: Page 75094: overflow page linked twice from leaf or data page
db_verify: Page 71069: overflow page linked twice from leaf or data page

db_verify: 9.4.sdb: DB_VERIFY_BAD: Database verification failed

Verification of 9.4.sdb failed.

Сейчас делается "Restore broken files from *.bad [cmd: db_dump && db_load]"
(0011957)
zed   
01-07-2013 18:28   
>Да ничего не поменялось
Ну да, только: "PS: оказывается что места sdb_util не хватало на диске C:"

>Я откатился на релизную 121010
Кэш открылся? Хотя, судя по тому, что она успела напакостить как минимум в одном из файлов БД, оно таки сумело сджоинить энвайронмент.
(0011961)
rudepravo   
01-07-2013 18:49   
(edited on: 01-07-2013 18:52)
Вот сейчас висит db_dump уже 21 минуту, файл 9.4.sdb.dump не растёт в размере. Это нормально?

Я ещё до кучи в env потёр все log-файлы, такое допустимо?

>Кэш открылся?

Нет. Выставил масштаб z3, всё равно экран пустой и ошибка на строке 184.

Считать, что кэш безвременно погиб и перекачивать всё заново?

(0011962)
zed   
01-07-2013 18:52   
>Вот сейчас висит db_dump уже 21 минуту, файл 9.4.sdb.dump не растёт в размере. Это нормально?
Нет.

>Я ещё до кучи в env потёр все log-файлы, такое допустимо?
Нет. Теперь нужно делать Reset LSN всему кэшу, а потом опять прогонять verify.
(0011963)
zed   
01-07-2013 20:38   
>Считать, что кэш безвременно погиб и перекачивать всё заново?
Нет конечно.
(0011969)
rudepravo   
01-07-2013 21:33   
После прогона по всем базам новой sdb_util и удалению зависших sdb-шек тайлы открылись, тикет можно закрывать.

Проблема была наверное в том, что побились 2 sdb-шки в z9 и z14, после этого всё поехало дальше. Почему были затронуты базы других зумов - не знаю, работает сейчас и работает.
(0011970)
zed   
01-07-2013 21:36   
На будущее:
- никогда не удаляйте файлы лога
- не запускайте без надобности Reset LSN
- никогда больше не используйте релиз 121010 для кэша Беркли