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

FlushViewOfFile failed 33 (and othe numbers) & Client disconnections - Details - Windows

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 1.4.4, 1.5.5
    • Component/s: Stability
    • Labels:
      None
    • Environment:
      Windows Srv 2008 R2, HP DL160G6: 2xXeon E5550, 24 Gb RAM, 4x500 Gb SATA HDD
    • Fully Compatible
    • Windows

      I'm testing (writing alot of data) MongoDB (1.4.4 and 1.5.5) on Win 2008 R2 and have this issue:
      During "new extent allocations" i see the following error: "FlushViewOfFile failed 33".
      In almost all cases this is not a problem (except several seconds delay in writing)/ But some times it leads to client disconnects (all clients in the same time with identical error).

      The error is (on the client side):

      Unable to write data to the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
      at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
      at Norm.Connection.Write(Byte[] bytes, Int32 start, Int32 size)
      at Norm.Protocol.Messages.InsertMessage`1.Execute()
      at Norm.Collections.MongoCollection`1.Insert(IEnumerable`1 documentsToInsert
      ...

      The MongoDB is still working and i can connect to it again. But, with the growth of written data these disconnects happens more frequently.
      Writing data in 2 threads (1 doc is 7 attributes and about 1 kB in size) fails:
      1. First time - after 15 millions of docs written.
      2. Second - after 5 millions,
      3. Third - after 2 millions.
      At the third time database is about 50Gb.

      And finally? i've pressed Ctrl+C and find at the log these errors:

      FlushFileBuffers failed 6 file: /data/db/fortest.16
      FlushFileBuffers failed 6 file: /data/db/fortest.17
      FlushFileBuffers failed 6 file: /data/db/fortest.18
      FlushFileBuffers failed 6 file: /data/db/fortest.19
      FlushFileBuffers failed 6 file: /data/db/fortest.20
      FlushFileBuffers failed 6 file: /data/db/fortest.21
      FlushFileBuffers failed 6 file: /data/db/fortest.22
      FlushFileBuffers failed 6 file: /data/db/fortest.23
      FlushFileBuffers failed 6 file: /data/db/fortest.24
      FlushViewOfFile failed 487 file: /data/db/fortest.26
      FlushFileBuffers failed 6 file: /data/db/fortest.26
      FlushViewOfFile failed 487 file: /data/db/fortest.0
      FlushFileBuffers failed 6 file: /data/db/fortest.0
      FlushViewOfFile failed 487 file: /data/db/fortest.1
      FlushFileBuffers failed 6 file: /data/db/fortest.1
      FlushViewOfFile failed 487 file: /data/db/fortest.2
      FlushFileBuffers failed 6 file: /data/db/fortest.2
      FlushFileBuffers failed 6 file: /data/db/fortest.3
      ---------

      As you see, client library is NoRM,
      Mongo version is 1.4.4 64 bit (1.5.5 shows the same behavior)

      Mongo starts with this command: mongod -v --cpu --syncdelay 1 -logpath e:\logs\Mongod.txt
      The log file is in attachment (i've cut off the middle part).

      Clients stop write with last "insert fortest.posts" in the log and get the error in a minute.

            Assignee:
            tad Tad Marshall
            Reporter:
            vadis Vadim
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: