Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-9271

Failed to allocate new file on a database over mounted folder on Windows

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical - P2
    • Resolution: Gone away
    • Affects Version/s: 2.4.1
    • Fix Version/s: None
    • Component/s: Storage
    • Environment:
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      Windows
    • Steps To Reproduce:
      Hide

      1) Create a database
      2) Move the database to a mounted folder
      3) Insert new data until new space is needed

      Show
      1) Create a database 2) Move the database to a mounted folder 3) Insert new data until new space is needed
    • Sprint:
      Storage 2016-11-21

      Description

      We create a database over mounted folder. When the database needs to allocate more space, there is a error message on the log file:

      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    ...\src\mongo\util\stacktrace.cpp(189)                           mongo::printStackTrace+0x3e
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    ...\src\mongo\util\assert_util.cpp(114)                          mongo::verifyFailed+0xdc
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    ...\src\mongo\util\file_allocator.cpp(73)                        mongo::ensureParentDirCreated+0x121
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    ...\src\mongo\util\file_allocator.cpp(283)                       mongo::FileAllocator::run+0x342
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    ...\src\third_party\boost\libs\thread\src\win32\thread.cpp(180)  boost::`anonymous namespace'::thread_start_function+0x21
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\threadex.c(314)      _callthreadstartex+0x17
      Sat Apr 06 17:07:52.100 [FileAllocator] mongod.exe    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\threadex.c(292)      _threadstartex+0x7f
      Sat Apr 06 17:07:52.100 [FileAllocator] KERNEL32.DLL                                                                   BaseThreadInitThunk+0x1a
      Sat Apr 06 17:07:52.100 [FileAllocator] error: failed to allocate new file: E:\mongodb\data\db\cacheagg\cacheagg.6 size: 2146435072 assertion src\mongo\util\file_allocator.cpp:73.  will try again in 10 seconds
      

      After that, the replica set fails:

      {
                              "_id" : 3,
                              "name" : "log-mng21:27017",
                              "health" : 1,
                              "state" : 2,
                              "stateStr" : "SECONDARY",
                              "uptime" : 80796,
                              "optime" : Timestamp(1365260435000, 113),
                              "optimeDate" : ISODate("2013-04-06T15:00:35Z"),
                              "lastHeartbeat" : ISODate("2013-04-06T15:13:31Z"),
                              "pingMs" : 0,
                              "errmsg" : "syncThread: 14031 Can't take a write lock while out of disk space"
      }
      

      Yesterday, I opened a ticket (SERVER-9264) related with problems with repair over mounted folder. I received a workaround to solve the problem.

        Attachments

        1. mongodb_allocate_new_file.PNG
          mongodb_allocate_new_file.PNG
          33 kB
        2. mongodb_replica_fail.PNG
          mongodb_replica_fail.PNG
          12 kB

          Issue Links

            Activity

              People

              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: