[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 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. |