2011-11-02 11 views
5

私は数日でmongodbを使用しましたが、今日まで正常に動作しています。MongoDB - アサーションエラーisOk()db/pdfile.h

データベースを照会するときにエラーが発生しました。

Wed Nov 2 17:56:44 [initandlisten] connection accepted from 127.0.0.1:49234 #1 
Wed Nov 2 17:56:45 [conn1] command admin.$cmd command: { listDatabases: 1 } ntoreturn:1 reslen:338 813ms 
Wed Nov 2 17:56:46 [conn1] admin.system.namespaces Assertion failure isOk() db/pdfile.h 300 
0x10007d703 0x100087eec 0x1004165e4 0x10040774b 0x100410823 0x100437df9 0x1004b3006 0x100426693 0x100426b53 0x100429f45 0x10042d8f0 0x10043109e 0x10043353b 0x10043662a 0x1004a13ca 0x1003d5e0f 0x1003e298a 0x100603394 0x100148d8c 0x10060a554 
0 mongod        0x000000010007d703 _ZN5mongo12sayDbContextEPKc + 195 
1 mongod        0x0000000100087eec _ZN5mongo8assertedEPKcS1_j + 300 
2 mongod        0x00000001004165e4 _ZN5mongo11DataFileMgr9getExtentERKNS_7DiskLocE + 148 
3 mongod        0x000000010040774b _ZN5mongo11DataFileMgr7findAllEPKcRKNS_7DiskLocE + 75 
4 mongod        0x0000000100410823 _ZN5mongo13findTableScanEPKcRKNS_7BSONObjERKNS_7DiskLocE + 131 
5 mongod        0x0000000100437df9 _ZNK5mongo9QueryPlan9newCursorERKNS_7DiskLocEi + 1081 
6 mongod        0x00000001004b3006 _ZN5mongo11UserQueryOp5_initEv + 214 
7 mongod        0x0000000100426693 _ZN5mongo7QueryOp4initEv + 323 
8 mongod        0x0000000100426b53 _ZN5mongo12QueryPlanSet6Runner6initOpERNS_7QueryOpE + 35 
9 mongod        0x0000000100429f45 _ZN5mongo12QueryPlanSet6Runner4initEv + 245 
10 mongod        0x000000010042d8f0 _ZN5mongo12QueryPlanSet6Runner22runUntilFirstCompletesEv + 32 
11 mongod        0x000000010043109e _ZN5mongo12QueryPlanSet5runOpERNS_7QueryOpE + 334 
12 mongod        0x000000010043353b _ZN5mongo16MultiPlanScanner9runOpOnceERNS_7QueryOpE + 1115 
13 mongod        0x000000010043662a _ZN5mongo16MultiPlanScanner5runOpERNS_7QueryOpE + 26 
14 mongod        0x00000001004a13ca _ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_ + 3194 
15 mongod        0x00000001003d5e0f _ZN5mongo13receivedQueryERNS_6ClientERNS_10DbResponseERNS_7MessageE + 623 
16 mongod        0x00000001003e298a _ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE + 1402 
17 mongod        0x0000000100603394 _ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE + 148 
18 mongod        0x0000000100148d8c _ZN5mongo3pms9threadRunEPNS_13MessagingPortE + 700 
19 mongod        0x000000010060a554 thread_proxy + 132 
Wed Nov 2 17:56:46 [conn1] assertion 0 assertion db/pdfile.h:300 ns:admin.system.namespaces query:{} 
Wed Nov 2 17:56:51 [conn1] end connection 127.0.0.1:49234 

私はmongodプロセスを再起動しますが、ヘルプは表示されません。

私はdbを修復しようとしましたが、エラーも発生しました。

bin: $ ./mongod --repair --dbpath ../data/db 
Wed Nov 2 18:10:51 [initandlisten] MongoDB starting : pid=678 port=27017 dbpath=../data/db 64-bit host=KTs-MacBook-Pro.local 
Wed Nov 2 18:10:51 [initandlisten] db version v2.0.0, pdfile version 4.5 
Wed Nov 2 18:10:51 [initandlisten] git version: 695c67dff0ffc361b8568a13366f027caa406222 
Wed Nov 2 18:10:51 [initandlisten] build info: Darwin erh2.10gen.cc 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_40 
Wed Nov 2 18:10:51 [initandlisten] options: { dbpath: "../data/db", repair: true } 
Wed Nov 2 18:10:51 [initandlisten] journal dir=../data/db/journal 
Wed Nov 2 18:10:51 [initandlisten] recover : no journal files present, no recovery needed 
Wed Nov 2 18:10:51 [initandlisten] **** 
Wed Nov 2 18:10:51 [initandlisten] **** 
Wed Nov 2 18:10:51 [initandlisten] need to upgrade database admin with pdfile version 4.5, new version: 4.5 
Wed Nov 2 18:10:51 [initandlisten]  starting upgrade 
Wed Nov 2 18:10:51 [initandlisten] admin repairDatabase admin 
Wed Nov 2 18:10:51 [initandlisten] removeJournalFiles 
Wed Nov 2 18:10:51 [initandlisten] admin.system.namespaces Assertion failure isOk() db/pdfile.h 300 
0x10007d703 0x100087eec 0x1004165e4 0x10040774b 0x100410823 0x100437df9 0x1004b3006 0x100426693 0x100426b53 0x100429f45 0x10042d8f0 0x10043109e 0x10043353b 0x10043662a 0x1004a13ca 0x1003d5e0f 0x1003e298a 0x1003e480f 0x1000ed8ec 0x1000c8b73 
0 mongod        0x000000010007d703 _ZN5mongo12sayDbContextEPKc + 195 
1 mongod        0x0000000100087eec _ZN5mongo8assertedEPKcS1_j + 300 
2 mongod        0x00000001004165e4 _ZN5mongo11DataFileMgr9getExtentERKNS_7DiskLocE + 148 
3 mongod        0x000000010040774b _ZN5mongo11DataFileMgr7findAllEPKcRKNS_7DiskLocE + 75 
4 mongod        0x0000000100410823 _ZN5mongo13findTableScanEPKcRKNS_7BSONObjERKNS_7DiskLocE + 131 
5 mongod        0x0000000100437df9 _ZNK5mongo9QueryPlan9newCursorERKNS_7DiskLocEi + 1081 
6 mongod        0x00000001004b3006 _ZN5mongo11UserQueryOp5_initEv + 214 
7 mongod        0x0000000100426693 _ZN5mongo7QueryOp4initEv + 323 
8 mongod        0x0000000100426b53 _ZN5mongo12QueryPlanSet6Runner6initOpERNS_7QueryOpE + 35 
9 mongod        0x0000000100429f45 _ZN5mongo12QueryPlanSet6Runner4initEv + 245 
10 mongod        0x000000010042d8f0 _ZN5mongo12QueryPlanSet6Runner22runUntilFirstCompletesEv + 32 
11 mongod        0x000000010043109e _ZN5mongo12QueryPlanSet5runOpERNS_7QueryOpE + 334 
12 mongod        0x000000010043353b _ZN5mongo16MultiPlanScanner9runOpOnceERNS_7QueryOpE + 1115 
13 mongod        0x000000010043662a _ZN5mongo16MultiPlanScanner5runOpERNS_7QueryOpE + 26 
14 mongod        0x00000001004a13ca _ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_ + 3194 
15 mongod        0x00000001003d5e0f _ZN5mongo13receivedQueryERNS_6ClientERNS_10DbResponseERNS_7MessageE + 623 
16 mongod        0x00000001003e298a _ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE + 1402 
17 mongod        0x00000001003e480f _ZN5mongo14DBDirectClient4callERNS_7MessageES2_bPSs + 111 
18 mongod        0x00000001000ed8ec _ZN5mongo14DBClientCursor4initEv + 76 
19 mongod        0x00000001000c8b73 _ZN5mongo12DBClientBase5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 739 
Wed Nov 2 18:10:51 [initandlisten] assertion 0 assertion db/pdfile.h:300 ns:admin.system.namespaces query:{} 
Wed Nov 2 18:10:51 [initandlisten] admin clone failed for admin with error: query failed admin.system.namespaces 
Wed Nov 2 18:10:51 [initandlisten] removeJournalFiles 
Wed Nov 2 18:10:51 [initandlisten] admin Assertion failure doDBUpgrade(dbName , errmsg , h) db/db.cpp 298 
0x10007d703 0x100087eec 0x1005f4f2f 0x1005f5c3c 0x1005f6274 0x1005f7d6f 0x1000013c4 
0 mongod        0x000000010007d703 _ZN5mongo12sayDbContextEPKc + 195 
1 mongod        0x0000000100087eec _ZN5mongo8assertedEPKcS1_j + 300 
2 mongod        0x00000001005f4f2f _ZN5mongo30repairDatabasesAndCheckVersionEv + 2063 
3 mongod        0x00000001005f5c3c _ZN5mongo14_initAndListenEi + 1036 
4 mongod        0x00000001005f6274 _ZN5mongo13initAndListenEi + 36 
5 mongod        0x00000001005f7d6f main + 3647 
6 mongod        0x00000001000013c4 start + 52 
Wed Nov 2 18:10:51 [initandlisten] exception in initAndListen: 0 assertion db/db.cpp:298, terminating 
Wed Nov 2 18:10:51 dbexit: 
Wed Nov 2 18:10:51 [initandlisten] shutdown: going to close listening sockets... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: going to flush diaglog... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: going to close sockets... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: waiting for fs preallocator... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: lock for final commit... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: final commit... 
Wed Nov 2 18:10:51 [initandlisten] shutdown: closing all files... 
Wed Nov 2 18:10:51 [initandlisten] closeAllFiles() finished 
Wed Nov 2 18:10:51 [initandlisten] journalCleanup... 
Wed Nov 2 18:10:51 [initandlisten] removeJournalFiles 
Wed Nov 2 18:10:51 [initandlisten] shutdown: removing fs lock... 
Wed Nov 2 18:10:51 dbexit: really exiting now 

MongoDBのバージョンはv2.0.0デベロッパー、pdfileバージョン4.5で、gitのバージョンは695c67dff0ffc361b8568a13366f027caa406222です。

mongodbには5つのデータベースがありますが、1つのデータベースだけが間違っています。

また、mongodumpでデータを回復しようとしましたが、空のbsonファイルがありました。

アイデア?おかげ

+0

私も同じ問題があります –

+0

私は新しいバージョンでなければなりません。アップグレード前にすべてうまく動作しました – Harry

答えて

0

はMongoDBのJIRAチケットリンクはチケットでのコメントとしてhttps://jira.mongodb.org/browse/SERVER-4198

あり、その後、修復を実行しているマスター=真の設定を削除することで問題を修正。

私はこの方法を試していませんが、ここでは参考にしています。

+3

master =本当の設定ですか? –

+0

私を助けなかった。 '/ etc/mongodb.conf'には' master = true'がありますが、それは既にコメントアウトされています(@TomRoggeroは何をするのかについても説明しています:> [複製されたmongoデータベースでは、これがスレーブかマスターかを指定してください] 'slave = true ' または 'master = true'] )。 – laggingreflex

1

私は、上記の例では

/data/db 

とした場合、すべてのjicd.xとlocal.xファイルに

を削除されるであろう(私のデータディレクトリに行くことによってこの問題を解決することができましたロックファイルのサイズが0バイトでない場合は、そのファイルも削除してください。

関連する問題