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

Secondary asserts on system.profile collection with WiredTigerRecordStore::insertRecord 95: Operation not supported

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.9
    • Affects Version/s: 4.2.8
    • Component/s: Catalog
    • None
    • Fully Compatible
    • ALL
    • Hide

      1. Create two member replica set
      2. Set priority to 0 on the member that we're going to reproduce the problem on

      var cfg = rs.conf(); cfg.members[0].priority = 0; rs.reconfig(cfg)
      db.getSIblingDB("test").t.insert({a});
      

      3. On the member with _id: 0 add this to the configuration file:

      operationProfiling:
        mode: "slowOp"
        slowOpThresholdMs: 0
      

      4. Stop and re-start the _id: 0 member
      5. On the restarted member run a query to trigger the system.profile collection creation

      rs.slaveOk()
      db.getSiblingDB("test").t.find()
      

      6. Check if the system.profile collection was created:

      db.getSiblingDB("test").system.profile.stats()
      

      7. Check if you see messages similar to the following in the mongod log

      2020-04-23T15:09:36.353+1000 I  STORAGE  [conn28] createCollection: test.system.profile with generated UUID: 0ab5602f-7076-4986-938b-8d0dc1bd7c36 and options: { capped: true, size: 1048576 }
      2020-04-23T15:09:36.354+1000 E  STORAGE  [conn28] WiredTiger error (95) [1587618576:353988][3843:0x7ff7c8688700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 418: Transactions with ignore_prepare=true cannot perform updates: Operation not supported Raw: [1587618576:353988][3843:0x7ff7c8688700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 418: Transactions with ignore_prepare=true cannot perform updates: Operation not supported
      2020-04-23T15:09:36.354+1000 E  -        [conn28] Assertion: UnknownError: WiredTigerRecordStore::insertRecord 95: Operation not supported src/mongo/db/catalog/database_impl.cpp 662
      2020-04-23T15:09:36.382+1000 W  -        [conn28] Caught Assertion while trying to profile msg against test.t: UnknownError: WiredTigerRecordStore::insertRecord 95: Operation not supported
      
      Show
      1. Create two member replica set 2. Set priority to 0 on the member that we're going to reproduce the problem on var cfg = rs.conf(); cfg.members[0].priority = 0; rs.reconfig(cfg) db.getSIblingDB( "test" ).t.insert({a}); 3. On the member with _id: 0 add this to the configuration file: operationProfiling: mode: "slowOp" slowOpThresholdMs: 0 4. Stop and re-start the _id: 0 member 5. On the restarted member run a query to trigger the system.profile collection creation rs.slaveOk() db.getSiblingDB( "test" ).t.find() 6. Check if the system.profile collection was created: db.getSiblingDB( "test" ).system.profile.stats() 7. Check if you see messages similar to the following in the mongod log 2020-04-23T15:09:36.353+1000 I STORAGE [conn28] createCollection: test.system.profile with generated UUID: 0ab5602f-7076-4986-938b-8d0dc1bd7c36 and options: { capped: true, size: 1048576 } 2020-04-23T15:09:36.354+1000 E STORAGE [conn28] WiredTiger error (95) [1587618576:353988][3843:0x7ff7c8688700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 418: Transactions with ignore_prepare=true cannot perform updates: Operation not supported Raw: [1587618576:353988][3843:0x7ff7c8688700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 418: Transactions with ignore_prepare=true cannot perform updates: Operation not supported 2020-04-23T15:09:36.354+1000 E - [conn28] Assertion: UnknownError: WiredTigerRecordStore::insertRecord 95: Operation not supported src/mongo/db/catalog/database_impl.cpp 662 2020-04-23T15:09:36.382+1000 W - [conn28] Caught Assertion while trying to profile msg against test.t: UnknownError: WiredTigerRecordStore::insertRecord 95: Operation not supported
    • Execution Team 2020-06-15, Execution Team 2020-06-29, Execution Team 2020-07-13, Execution Team 2020-07-27
    • 5

      I've managed to reproduce this behaviour on v4.2.1 and 4.2.6 (latest).

      If a replica set member is started with the database profiler enabled in the configuration it will keep asserting failing to create system.profile collection.

      Turning profiling on and off makes the errors cease:

      db.setProfilingLevel(0,100);
      db.setProfilingLevel(1,0);
      

        1. metrics.2020-05-21T00-57-03Z-00000
          4.02 MB
        2. mongod.log.bak
          64.46 MB

            Assignee:
            milkie@mongodb.com Eric Milkie
            Reporter:
            dmitry.ryabtsev@mongodb.com Dmitry Ryabtsev
            Votes:
            5 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: