dassert in batch_upconvert.cpp due to command operation reaching msgToBatchRequests

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: 3.1.5
    • Component/s: Networking, Sharding
    • None
    • Fully Compatible
    • ALL
    • Hide

      Happened when I was running the sharding tests in parallel.

      Show
      Happened when I was running the sharding tests in parallel.
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      While doing some local stress testing, I hit the following assertion failure:

       	mongos.exe!mongo::breakpoint() Line 60	C++
       	mongos.exe!mongo::invariantFailed(const char * expr=0x00007ff7da56d978, const char * file=0x00007ff7da56d948, unsigned int line=59) Line 153	C++
      >	mongos.exe!mongo::msgToBatchRequests(const mongo::Message & msg={...}, std::vector<mongo::BatchedCommandRequest *,std::allocator<mongo::BatchedCommandRequest *> > * requests=0x000000e53e40e5a8) Line 59	C++
       	mongos.exe!mongo::Strategy::writeOp(int op=2008, mongo::Request & r={...}) Line 652	C++
       	mongos.exe!mongo::Request::process(int attempt=0) Line 124	C++
       	mongos.exe!mongo::ShardedMessageHandler::process(mongo::Message & m={...}, mongo::AbstractMessagingPort * p=0x000000e53c2f2fc0) Line 142	C++
       	mongos.exe!mongo::PortMessageServer::handleIncomingMsg(void * arg=0x000000e53c2f2fc0) Line 231	C++
       	mongos.exe!boost::_bi::list1<boost::_bi::value<mongo::`anonymous namespace'::MessagingPortWithHandler * __ptr64> >::operator()<void * __ptr64,void * __ptr64 (__cdecl*)(void * __ptr64),boost::_bi::list0>(boost::_bi::type<void *> __formal={...}, void * (void *) * & f=0x00007ff7d908df23, boost::_bi::list0 & a={...}, long __formal=0) Line 244	C++
      

      The offending line is here and it looks like the input opType is 2008 (dbCommand) and the expected value is 2006 (dbDelete).

      It looks like the mongo shell is sending a command, but mongos does not support commands.

      The command being sent looks like replSetInitiate:

      0x000000E53C4F1870  a6 00 00 00 23 00 00 00 00 00 00 00 d8 07 00 00 61 64 6d 69 6e 00 72 65 70 6c 53 65 74  ¦...#.......Ø...admin.replSet
      0x000000E53C4F188D  49 6e 69 74 69 61 74 65 00 05 00 00 00 00 7b 00 00 00 03 72 65 70 6c 53 65 74 49 6e 69  Initiate......{....replSetIni
      0x000000E53C4F18AA  74 69 61 74 65 00 65 00 00 00 02 5f 69 64 00 14 00 00 00 61 64 64 5f 73 68 61 72 64 33  tiate.e...._id.....add_shard3
      0x000000E53C4F18C7  2d 63 6f 6e 66 69 67 52 53 00 04 6d 65 6d 62 65 72 73 00 3a 00 00 00 03 30 00 32 00 00  -configRS..members.:....0.2..
      0x000000E53C4F18E4  00 01 5f 69 64 00 00 00 00 00 00 00 00 00 02 68 6f 73 74 00 16 00 00 00 6b 61 6c 6f 69  .._id..........host.....kaloi
      0x000000E53C4F1901  61 6e 6d 64 65 73 6b 74 6f 70 3a 33 31 30 30 31 00 00 00 00 00 cd cd cd cd cd cd cd cd  anmdesktop:31001
      

            Assignee:
            DO NOT USE - Backlog - Platform Team
            Reporter:
            Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: