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

taskExecutorPoolSize should be a startup only server parameter

    • 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" ) } } }

      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

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            pengzhenyi peng zhenyi
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: