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

Fatal assertion on profiling-enabled secondary when dropping system.profile collection on primary

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.1.5
    • Affects Version/s: 3.1.3
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • ALL
    • Hide
      var rst = new ReplSetTest({nodes: 2});
      rst.startSet();
      rst.initiate();
      rst.awaitReplication();
      
      var primaryDB = rst.getPrimary().getDB('test');
      var secondaryDB = rst.getSecondary().getDB('test');
      
      // Enable profiling on all nodes
      primaryDB.runCommand({profile: 2});
      secondaryDB.runCommand({profile: 2});
      
      // Create the profile collection before disabling profiling on the primary
      primaryDB.foo.insert({});
      primaryDB.runCommand({profile: 0});
      
      // Drop the collection on the primary to trigger an fassert on the secondary
      primaryDB.system.profile.drop();
      rst.awaitReplication();
      
      Show
      var rst = new ReplSetTest({nodes: 2}); rst.startSet(); rst.initiate(); rst.awaitReplication(); var primaryDB = rst.getPrimary().getDB('test'); var secondaryDB = rst.getSecondary().getDB('test'); // Enable profiling on all nodes primaryDB.runCommand({profile: 2}); secondaryDB.runCommand({profile: 2}); // Create the profile collection before disabling profiling on the primary primaryDB.foo.insert({}); primaryDB.runCommand({profile: 0}); // Drop the collection on the primary to trigger an fassert on the secondary primaryDB.system.profile.drop(); rst.awaitReplication();
    • RPL 5 06/26/16
    • 0

      If profiling is enabled on a secondary and a system.profile drop occurs on the primary, the secondary will abort, as of 3.1.2.

      In previous versions, including 3.0.4-rc0, the same set of operations would result in a warning and a failed drop.

      3.1.2+

       I COMMAND  [repl writer worker 15] CMD: drop test.system.profile
       E REPL     [repl writer worker 15] Failed command { drop: "system.profile" } on test with status IllegalOperation turn off profiling before dropping system.profile collection during oplog application
       I -        [repl writer worker 15] Fatal Assertion 16359
       I -        [repl writer worker 15] 
      

      3.1.1 and 3.0.4-rc0

      I COMMAND  [repl writer worker 15] CMD: drop test.system.profile
      W REPL     [repl writer worker 15] Failed command { drop: "system.profile" } on test with status IllegalOperation turn off profiling before dropping system.profile collection during oplog application
      

            Assignee:
            matt.dannenberg Matt Dannenberg
            Reporter:
            kamran.khan Kamran K.
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: