[SERVER-225] Server fails on dataset - database corruption Created: 10/Aug/09  Updated: 10/Sep/09  Resolved: 10/Aug/09

Status: Closed
Project: Core Server
Component/s: Usability
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical - P2
Reporter: Ryan Nitz Assignee: Eliot Horowitz (Inactive)
Resolution: Incomplete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

32-bit linux


Participants:

 Description   

Tue Aug 11 01:03:19 lindex.newsites Caught Assertion insert, continuing
Tue Aug 11 01:01:52 insert lindex.newsites exception userassert:can't map file memory - mongo requires 64 bit build for larger datasets 0ms
mmap() failed for /mnt/lindex/mongodb/lindex.6 len:536870912 errno:12
mmap() failed for /mnt/lindex/mongodb/lindex.6 len:536870912 errno:12

My collection is called "newsites"

In the shell, when I view the collections it shows many duplicates of the same collection (at least 20). When I try and drop the collection it says:

> db.newsites.drop()

{"errmsg" : "ns not found" , "ok" : 0}

The server was consuming ~ 1.3 GB of memory (before restarted). The node has 1.7 GB of memory.

I restarted the server and the duplicate collections are still there. After the server restart, the process was able to run about 2/3 of way through the dataset and crashed again.

The raw disk is consuming ~ 3,027 MB (mongo data dir).

From a code standpoint, I am using the Java driver and iterating over 1,884,105 rows using a DBCursor. I am inspecting a long value in the document and inserting a record into a new collection if it matches (in this case... all 1.8 M documents match).

This is a problem on a live/production server.



 Comments   
Comment by Eliot Horowitz (Inactive) [ 10/Sep/09 ]

closed b/c resolved more than 2 week ago

Comment by Ryan Nitz [ 10/Aug/09 ]

I guess I need to move the db to a 64-bit machine first:

> db.repairDatabase()

{"assertion" : "can't map file memory - mongo requires 64 bit build for larger datasets" , "errmsg" : "db assertion failure" , "ok" : 0}
Comment by Eliot Horowitz (Inactive) [ 10/Aug/09 ]

you should do a repairDatabase()

not sure how much testing has been done on what happens when you go over 32-bit limit.

Generated at Thu Feb 08 02:53:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.