[SERVER-3570] allocation failure creating collection leads to inconsistent state Created: 10/Aug/11  Updated: 06/Dec/22  Resolved: 14/Sep/18

Status: Closed
Project: Core Server
Component/s: MMAPv1, Storage
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Aaron Staple Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-3547 Collections are not droppable but are... Closed
Related
related to SERVER-2818 Creating too large of a collection le... Closed
Assigned Teams:
Storage Execution
Operating System: ALL
Participants:

 Description   

Examples of allocation failures:

  • out of disk space when saving document in system.namespaces
  • out of hash table space when saving NamespaceDetails
  • out of disk space when creating extents

Observed example of inconsistent state:

  • system.namespaces object exists without a corresponding NamespaceDetails and cannot be removed easily

Reproduce:

for( i = 0; i < 13000; ++i ) {
db[ 'c_' + i ].save( {} );
}
db.getCollectionNames().forEach( function

{ assert( db[x].stats().ok ); }

);



 Comments   
Comment by Tanzeel ur Rehman [ 15/Oct/17 ]

MongoError: exception: new file allocation failure
0|parse-wr |     at Function.MongoError.create (/usr/lib/node_modules/parse-server/node_modules/mongodb-core/lib/error.js:31:11)
0|parse-wr |     at /usr/lib/node_modules/parse-server/node_modules/mongodb-core/lib/connection/pool.js:497:72
0|parse-wr |     at authenticateStragglers (/usr/lib/node_modules/parse-server/node_modules/mongodb-core/lib/connection/pool.js:443:16)
0|parse-wr |     at null.messageHandler (/usr/lib/node_modules/parse-server/node_modules/mongodb-core/lib/connection/pool.js:477:5)
0|parse-wr |     at Socket.<anonymous> (/usr/lib/node_modules/parse-server/node_modules/mongodb-core/lib/connection/connection.js:331:22)
0|parse-wr |     at emitOne (events.js:90:13)
0|parse-wr |     at Socket.emit (events.js:182:7)
0|parse-wr |     at readableAddChunk (_stream_readable.js:153:18)
0|parse-wr |     at Socket.Readable.push (_stream_readable.js:111:10)
0|parse-wr |     at TCP.onread (net.js:534:20)

Comment by Eliot Horowitz (Inactive) [ 24/Feb/12 ]

There have been some improvements in 2.2, but leaving this open until a full audit is complete.

Generated at Thu Feb 08 03:03:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.