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

taskExecutorPoolSize should be a startup only server parameter

    XMLWordPrintableJSON

Details

    • Service Arch
    • ALL
    • Hide

      1. Run the following command, returns OK, but pool size is not changed actually

      mongos> db.runCommand({setParameter:1, taskExecutorPoolSize: 8})
      {
      	"was" : 1,
      	"ok" : 1,
      	"operationTime" : Timestamp(1569392777, 1),
      	"$clusterTime" : {
      		"clusterTime" : Timestamp(1569392777, 1),
      		"signature" : {
      			"hash" : BinData(0,"SSopIIShlpP6yJNJCZ5C50OrzAo="),
      			"keyId" : NumberLong("6737601513192947742")
      		}
      	}
      }
      

      2. Declare taskExecutorPoolSize to be a MONGO_EXPORT_STARTUP_SERVER_PARAMETER, then error is returned as expected.

      mongos> db.runCommand({setParameter:1, taskExecutorPoolSize:8})
      {
      	"ok" : 0,
      	"errmsg" : "not allowed to change [taskExecutorPoolSize] at runtime",
      	"operationTime" : Timestamp(1569402193, 1),
      	"$clusterTime" : {
      		"clusterTime" : Timestamp(1569402193, 1),
      		"signature" : {
      			"hash" : BinData(0,"t95Ob+EY18fuN43MW4dt6cpBZOE="),
      			"keyId" : NumberLong("6737601513192947742")
      		}
      	}
      }
      

      Show
      1. Run the following command, returns OK, but pool size is not changed actually mongos> db.runCommand({setParameter: 1 , taskExecutorPoolSize: 8 }) { "was" : 1 , "ok" : 1 , "operationTime" : Timestamp( 1569392777 , 1 ), "$clusterTime" : { "clusterTime" : Timestamp( 1569392777 , 1 ), "signature" : { "hash" : BinData( 0 , "SSopIIShlpP6yJNJCZ5C50OrzAo=" ), "keyId" : NumberLong( "6737601513192947742" ) } } } 2. Declare taskExecutorPoolSize to be a MONGO_EXPORT_STARTUP_SERVER_PARAMETER, then error is returned as expected. mongos> db.runCommand({setParameter: 1 , taskExecutorPoolSize: 8 }) { "ok" : 0 , "errmsg" : "not allowed to change [taskExecutorPoolSize] at runtime" , "operationTime" : Timestamp( 1569402193 , 1 ), "$clusterTime" : { "clusterTime" : Timestamp( 1569402193 , 1 ), "signature" : { "hash" : BinData( 0 , "t95Ob+EY18fuN43MW4dt6cpBZOE=" ), "keyId" : NumberLong( "6737601513192947742" ) } } }

    Description

      TaskExecutorPoolSize should not be modified in runtime, according to document: https://docs.mongodb.com/v4.0/reference/parameters/#param.taskExecutorPoolSize

      But it is declared to be a MONGO_EXPORT_SERVER_PARAMETER which can be set at startup or at runtime.

      So when I run the setParameter command, it returns OK. but pool size is not changed actually.
      This may be misleading to developers.
      I think this parameter should be declared as a MONGO_EXPORT_STARTUP_SERVER_PARAMETER which can only be set at startup

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            pengzhenyi peng zhenyi
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: