Hi,
I use mongodb for syslog-messages. I have 2 collections (not capped): test.messages and test.messages.old. Messages older then X days are moved (save+remove) from messages into messages.old. Messages older then Y days are removed from messages.old (X<Y). [1] tells me: "Recovering Deleted Space: MongoDB maintains lists of deleted blocks within the datafiles when objects or collections are deleted. This space is reused by MongoDB but never freed to the operating system."
[1]
http://www.mongodb.org/display/DOCS/Excessive+Disk+Space
While the above would be enough for me (deleted space is reused by mongodb), I run out of disk space. Can someone tell me why?
$ mongod --version
db version v2.0.6, pdfile version 4.5
#############################################################################
> db.messages.old.totalSize()
822605984
> db.messages.old.storageSize()
796524544
> db.messages.old.validate()
{
"ns" : "test.messages.old",
"firstExtent" : "5:249da000 ns:test.messages.old",
"lastExtent" : "5:3ae0d000 ns:test.messages.old",
"extentCount" : 20,
"datasize" : 157111764,
"nrecords" : 453133,
"lastExtentSize" : 139808768,
"padding" : 1,
"firstExtentDetails" : {
"loc" : "5:249da000",
"xnext" : "4:a074000",
"xprev" : "null",
"nsdiag" : "test.messages.old",
"size" : 32768,
"firstRecord" : "null",
"lastRecord" : "null"
},
"deletedCount" : 1533630,
"deletedSize" : 632159132,
"nIndexes" : 1,
"keysPerIndex" : {
"test.messages.old.$_id_" : 453133
},
"valid" : true,
"errors" : [ ],
"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.",
"ok" : 1
}
#############################################################################
> db.messages.totalSize()
5614160304
> db.messages.storageSize()
5025185792
> db.messages.validate()
{
"ns" : "test.messages",
"firstExtent" : "0:3000 ns:test.messages",
"lastExtent" : "8:51f4c000 ns:test.messages",
"extentCount" : 33,
"datasize" : 733750044,
"nrecords" : 2113172,
"lastExtentSize" : 721412096,
"padding" : 1,
"firstExtentDetails" : {
"loc" : "0:3000",
"xnext" : "0:12000",
"xprev" : "null",
"nsdiag" : "test.messages",
"size" : 20480,
"firstRecord" : "null",
"lastRecord" : "null"
},
"deletedCount" : 11950896,
"deletedSize" :
4257619188,
"nIndexes" : 6,
"keysPerIndex" : {
"test.messages.$_id_" : 2113172,
"test.messages.$HOST_1" : 2113172,
"test.messages.$DATE_-1" : 2113172,
"test.messages.$FACILITY_1" : 2113172,
"test.messages.$PRIORITY_1" : 2113172,
"test.messages.$PROGRAM_1" : 2113172
},
"valid" : true,
"errors" : [ ],
"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.",
"ok" : 1
}
I sum up (totalSize) about 6GB used on a 20GB data partition. What's this deletedSize in validate()? Should deletedSize be reused like said in [1]? Or should I run some periodically repair?
Thanks, Sascha.
Vorsitzender des Aufsichtsrates: Ralf Hiltenkamp
Geschäftsführung: Michael Krüger (Sprecher), Stephan Drescher
Sitz der Gesellschaft: Halle/Saale
Registergericht: Amtsgericht Stendal | Handelsregister-Nr. HRB 208414
UST-ID-Nr. DE 158253683
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Empfänger sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail oder des Inhalts dieser Mail sind nicht gestattet. Diese Kommunikation per E-Mail ist nicht gegen den Zugriff durch Dritte geschützt. Die GISA GmbH haftet ausdrücklich nicht für den Inhalt und die Vollständigkeit von E-Mails und den gegebenenfalls daraus entstehenden Schaden. Sollte trotz der bestehenden Viren-Schutzprogramme durch diese E-Mail ein Virus in Ihr System gelangen, so haftet die GISA GmbH - soweit gesetzlich zulässig - nicht für die hieraus entstehenden Schäden.