milvus-logo
LFAI
Home
  • Administration Guide

Configure Milvus on the Fly

Milvus allows you to change some of its configurations on the fly.

Before you start

You need to ensure that:

  • You have Birdwatcher installed. For details, refer to Install Birdwatcher,
  • You have etcdctl installed. For details, refer to Interacting with etcd, or
  • You have other etcd clients, such as the Python client, installed.
  • Examples in this guide change the value of proxy.minPasswordLength to 8. You can replace the key with the applicable ones listed in Applicable configuration items.
  • Examples in this guide assume that the root path of your Milvus is by-dev. All configurations are listed under the path by-dev/config. The Milvus root path varies with the way you install it. For the instances installed using the Helm charts, the root path defaults to by-dev. If you do not know the root path, refer to Connect to etcd.

Change configurations

On Milvus, proxy.minPasswordLength is set to 6 by default. To change this value, you can do as follows:

$ etcdctl put by-dev/config/proxy/minPasswordLength 8
# or
$ birdwatcher -olc "#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,set config-etcd --key by-dev/config/proxy/minPasswordLength --value 8"

Then you can check the configurations as follows:

$ etcdctl get by-dev/config/proxy/minPasswordLength

Roll back configurations

Milvus also allows you to roll back your configurations in case the changed value no longer applies.

$ etcdctl del by-dev/config/proxy/minPasswordLength 
# or 
$ birdwatcher -olc "#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,remove config-etcd --key by-dev/config/proxy/minPasswordLength"

Then you can check the configurations as follows:

$ etcdctl get by-dev/config/proxy/minPasswordLength

View configurations

Instead of viewing the value of a specific configuration item, you can also list all of them.

$ etcdctl get --prefix by-dev/config
# or
$ birdwatcher -olc "#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,show config-etcd"

To view the configurations of a specific node:

Offline > connect --etcd ip:port 
Milvus(by-dev) > show session          # List all nodes with their server ID
Milvus(by-dev) > visit querycoord 1    # Visit a node by server ID
QueryCoord-1(ip:port) > configuration  # List the configuration of the node

Applicable configuration items

Currently, you can change the following configuration items on the fly.

Configuration itemDefault value
pulsar.maxMessageSize5242880
common.retentionDuration86400
common.entityExpiration-1
common.gracefulTime5000
common.gracefulStopTimeout30
quotaAndLimits.ddl.enabledFALSE
quotaAndLimits.indexRate.enabledFALSE
quotaAndLimits.flushRate.enabledFALSE
quotaAndLimits.compactionRate.enabledFALSE
quotaAndLimits.dml.enabledFALSE
quotaAndLimits.dql.enabledFALSE
quotaAndLimits.limits.collection.maxNum64
quotaAndLimits.limitWriting.forceDenyFALSE
quotaAndLimits.limitWriting.ttProtection.enabledFALSE
quotaAndLimits.limitWriting.ttProtection.maxTimeTickDelay9223372036854775807
quotaAndLimits.limitWriting.memProtection.enabledTRUE
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryLowWaterLevel0.85
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryHighWaterLevel0.95
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryLowWaterLevel0.85
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryHighWaterLevel0.95
quotaAndLimits.limitWriting.diskProtection.enabledTRUE
quotaAndLimits.limitWriting.diskProtection.diskQuota+INF
quotaAndLimits.limitReading.forceDenyFALSE
quotaAndLimits.limitReading.queueProtection.enabledFALSE
quotaAndLimits.limitReading.queueProtection.nqInQueueThreshold9223372036854775807
quotaAndLimits.limitReading.queueProtection.queueLatencyThreshold+INF
quotaAndLimits.limitReading.resultProtection.enabledFALSE
quotaAndLimits.limitReading.resultProtection.maxReadResultRate+INF
quotaAndLimits.limitReading.coolOffSpeed0.9
autoIndex.enableFALSE
autoIndex.params.build""
autoIndex.params.extra""
autoIndex.params.search""
proxy.maxNameLength255
proxy.maxUsernameLength32
proxy.minPasswordLength6
proxy.maxPasswordLength256
proxy.maxFieldNum64
proxy.maxShardNum256
proxy.maxDimension32768
proxy.maxUserNum100
proxy.maxRoleNum10
queryNode.enableDiskTRUE
dataCoord.segment.diskSegmentMaxSize2048
dataCoord.compaction.enableAutoCompactionTRUE

What's next