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

findAndModify triggers rollback invariant failure with --notablescan

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.7.8
    • Component/s: Storage
    • ALL

      The following invariant failure only occurs when the server is running with the --notablescan option:

      Output and backtrace:

      2014-10-21T18:49:33.968-0400 I STORAGE  [conn1]    ***** ROLLING BACK 149 changes
      2014-10-21T18:49:33.969-0400 I STORAGE  [conn1] CUSTOM ROLLBACK mongo::repl::logOp(mongo::OperationContext*, char const*, char const*, mongo::BSONObj const&, mongo::BSONObj*, bool*, bool)::RollbackPreventer
      2014-10-21T18:49:33.969-0400 F REPLSETS [conn1] Rollback of logOp not currently allowed (SERVER-15192)
      2014-10-21T18:49:33.969-0400 I -        [conn1] Fatal Assertion 18805
      
      
      Program received signal SIGTRAP, Trace/breakpoint trap.
      [Switching to Thread 0x7ffff7fce700 (LWP 18773)]
      0x00007ffff7bcc20b in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
      37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
      
      (gdb) bt
      #0  0x00007ffff7bcc20b in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
      #1  0x0000000001892006 in mongo::mongo_breakpoint () at src/mongo/util/debug_util.cpp:58
      #2  0x0000000001888ba4 in mongo::breakpoint () at src/mongo/util/debug_util.h:73
      #3  0x0000000001887b15 in mongo::fassertFailed (msgid=18805) at src/mongo/util/assert_util.cpp:153
      #4  0x00000000015cc8fa in mongo::repl::RollbackPreventer::rollback (this=0x2f4e3b8) at src/mongo/db/repl/oplog.cpp:423
      #5  0x00000000016f9995 in mongo::DurRecoveryUnit::rollbackInnermostChanges (this=0x5802050) at src/mongo/db/storage/mmap_v1/dur_recovery_unit.cpp:140
      #6  0x00000000016f9652 in mongo::DurRecoveryUnit::endUnitOfWork (this=0x5802050) at src/mongo/db/storage/mmap_v1/dur_recovery_unit.cpp:101
      #7  0x00000000011e7f2c in mongo::WriteUnitOfWork::~WriteUnitOfWork (this=0x7ffff7fcc270, __in_chrg=<optimized out>) at src/mongo/db/operation_context.h:160
      #8  0x000000000129586f in mongo::CmdFindAndModify::run (this=0x26f9dc0 <mongo::cmdFindAndModify>, txn=0x2fb0ea0, dbname=..., cmdObj=..., x=0, errmsg=..., result=..., y=false) at src/mongo/db/commands/find_and_modify.cpp:377
      #9  0x000000000130737f in mongo::_execCommand (txn=0x2fb0ea0, c=0x26f9dc0 <mongo::cmdFindAndModify>, dbname=..., cmdObj=..., queryOptions=0, errmsg=..., result=..., fromRepl=false) at src/mongo/db/dbcommands.cpp:1158
      #10 0x0000000001308334 in mongo::Command::execCommand (txn=0x2fb0ea0, c=0x26f9dc0 <mongo::cmdFindAndModify>, queryOptions=0, cmdns=0x36a9814 "test.$cmd", cmdObj=..., result=..., fromRepl=false) at src/mongo/db/dbcommands.cpp:1372
      #11 0x0000000001308c41 in mongo::_runCommands (txn=0x2fb0ea0, ns=0x36a9814 "test.$cmd", _cmdobj=..., b=..., anObjBuilder=..., fromRepl=false, queryOptions=0) at src/mongo/db/dbcommands.cpp:1448
      #12 0x0000000001521122 in mongo::runCommands (txn=0x2fb0ea0, ns=0x36a9814 "test.$cmd", jsobj=..., curop=..., b=..., anObjBuilder=..., fromRepl=false, queryOptions=0) at src/mongo/db/query/new_find.cpp:125
      #13 0x0000000001522adf in mongo::newRunQuery (txn=0x2fb0ea0, m=..., q=..., curop=..., result=..., fromDBDirectClient=false) at src/mongo/db/query/new_find.cpp:529
      #14 0x000000000140f051 in mongo::receivedQuery (txn=0x2fb0ea0, c=..., dbresponse=..., m=..., fromDBDirectClient=false) at src/mongo/db/instance.cpp:272
      #15 0x0000000001410172 in mongo::assembleResponse (txn=0x2fb0ea0, m=..., dbresponse=..., remote=..., fromDBDirectClient=false) at src/mongo/db/instance.cpp:445
      #16 0x0000000001124db0 in mongo::MyMessageHandler::process (this=0x2f4e188, m=..., port=0x2f69390, le=0x5802000) at src/mongo/db/db.cpp:184
      #17 0x00000000018adfbb in mongo::PortMessageServer::handleIncomingMsg (arg=0x2f52220) at src/mongo/util/net/message_server_port.cpp:234
      #18 0x00007ffff7bc4182 in start_thread (arg=0x7ffff7fce700) at pthread_create.c:312
      #19 0x00007ffff6cc4fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
      

      Version: 91c8c4425c166

            Assignee:
            dan@mongodb.com Daniel Pasette (Inactive)
            Reporter:
            kamran.khan Kamran K.
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: