The maxPasses assertion (triggered on repeated allocation failure from a capped collection) can leave capped collection in non iterable state. In particular
- the capExtent extent can be empty (contain no documents)
- it's possible to have capExtent non null and capFirstNewRecord null, in which case the capped cursors will not work properly
Should also investigate when the maxPasses assertion can be triggered.
if( ++passes > maxPasses ) { log() << "passes ns:" << ns << " len:" << len << " maxPasses: " << maxPasses << '\n'; log() << "passes max:" << maxCappedDocs() << " nrecords:" << stats.nrecords << " datasize: " << stats.datasize << endl; massert( 10345 , "passes >= maxPasses in capped collection alloc", false ); }
- is duplicated by
-
SERVER-15265 passes >= maxPasses (capped collection)
- Closed
-
SERVER-15303 passes >= maxPasses in oplog
- Closed
-
SERVER-8666 adding large docs to capped collection can fail based on history
- Closed
- is related to
-
SERVER-17561 Fragmentation/non-linearity in mmapv1 capped collections
- Closed
- related to
-
SERVER-13914 'no space in capped collection' error when inserting document close to the collection's size
- Closed
-
SERVER-12058 Primary should abort if encountered problems writing to the oplog
- Closed