summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2011-04-12 13:29:47 -0400
committerMathias Stearn <mathias@10gen.com>2011-04-12 18:23:47 -0400
commit63943c6541e94a28d9dbe31058c027872b06b37d (patch)
tree885e398414021b50689d00e152c5d16aafc4b6a0 /util
parent30792b84a37510eda7f4b02b99b895be207e5293 (diff)
downloadmongo-63943c6541e94a28d9dbe31058c027872b06b37d.tar.gz
Keep trying to allocate new file SERVER-2609
Diffstat (limited to 'util')
-rw-r--r--util/file_allocator.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/util/file_allocator.cpp b/util/file_allocator.cpp
index 85a101c0e1e..269f147cac7 100644
--- a/util/file_allocator.cpp
+++ b/util/file_allocator.cpp
@@ -278,11 +278,13 @@ namespace mongo {
<< " took " << ((double)t.millis())/1000.0 << " secs"
<< endl;
-
+ // no longer in a failed state. allow new writers.
+ fa->_failed = false;
}
catch ( ... ) {
log() << "error failed to allocate new file: " << name
<< " size: " << size << ' ' << errnoWithDescription() << endl;
+ log() << " will try again in 10 seconds" << endl;
try {
if ( tmp.size() )
BOOST_CHECK_EXCEPTION( boost::filesystem::remove( tmp ) );
@@ -296,9 +298,8 @@ namespace mongo {
fa->_pendingUpdated.notify_all();
- // TODO: we should sleep and continue rather than stop
- // space might become available
- return; // no more allocation
+ sleepsecs(10);
+ continue;
}
{