ROLE

Syntax

  1. ROLE

Time complexity: O(1)

Provide information on the role of a Dragonfly instance in the context of replication, by returning if the instance is currently a master or slave. The command also returns additional information about the state of the replication.

Output format

The command returns an array of elements. The first element is the role of the instance, as one of the following three strings:

  • “master”
  • “slave”

The additional elements of the array depends on the role.

Master output

An example of output when dragonfly> ROLE is called in a master instance:

  1. 1) "master"
  2. 2) 1) 1) "127.0.0.1"
  3. 2) "stable sync"

The master output is composed of the following parts:

  1. The string master.
  2. An array composed of two elements array representing the connected replicas. Every sub-array contains the replica IP and replication state. For the state meanings see the replica output description below.

Output of the command on replicas

An example of output when ROLE is called in a replica instance:

  1. 1) "replica"
  2. 2) "127.0.0.1"
  3. 3) "6379"
  4. 4) "stable sync"

The replica output is composed of the following parts:

  1. The string replica, because of backward compatibility (see note at the end of this page).
  2. The IP of the master.
  3. The port number of the master.
  4. The current replication state, that can be connecting (the connection is in progress), full sync (the master and replica are performing a full synchronization) and stable sync (the replica is online)

Return

Array reply: where the first element is one of master, slave, sentinel and the additional elements are role-specific as illustrated above.