Skip to main content

Info Command Reference

The info protocol provides access to Configuration and Statistics for the Aerospike Server. The protocol can be accessed by the our clients, over telnet on the info port, or through asinfo.

The examples here use asinfo.

Search info commands

13 removed commands

alumni-clear-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "services-alumni" for non-TLS service. All neighbor addresses (peers-clear-std) this server has ever known about. Some diagnostic tools, eg. asadm, use alumni to enable full cluster view even during cluster disruptions.

Format:

alumni-clear-std
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "alumni-clear-std"
10,3000,[[BB9050011AC4202,,[172.17.0.5]]]

alumni-tls-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "services-alumni" for TLS service. All neighbor addresses (peers-tls-std) this server has ever known about. Some diagnostic tools, eg. asadm, use alumni to enable full cluster view even during cluster disruptions.

Format:

alumni-tls-std
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "alumni-tls-std"
10,4333,[[BB9050011AC4202,clusternode,[172.17.0.5]]]

best-practices

Permission:

authenticated user

Introduced:

5.7

Report violated best-practice checks.

Format:

best-practices
Additional information

Output

Returns a list of best-practice violations that occurred when the node started.

Examples

Execute Command

asinfo -v "best-practices"
failed_best_practices=min-free-kbytes,swappiness

bins

Permission:

authenticated user

Introduced:

3.3.0

bin usage information and used bin names for all or a particular namespace.

Format:

bins/[<NAMESPACE>]
Additional information

Parameters

NAMESPACE
Where NAMESPACE is the name of a namespace that exists on this server.

Output

Without NAMESPACE
stats and names for each namespace. Namespace names are suffixed with a colon ':' and the bin stats and names are comma ',' separated. Bin stat names and values are separated by an equals '='. The end of stats list is delimited by a semicolon ';' and may be followed by more namespaces.

With NAMESPACE
Returns comma ',' separated statistics and bin names for the provided namespace. Statistics are separated from their values by an equals '='.

Examples

Without NAMESPACE

asinfo -v 'bins'
test:num-bin-names=7,bin-names-quota=65535,str_100_bin,
str_uniq_bin,int_uniq_bin,seed,dynamic_str,dynamic_int,
fill_bin;
asinfo -v 'bins'
test:num-bin-names=7,bin-names-quota=32768,str_100_bin,
str_uniq_bin,int_uniq_bin,seed,dynamic_str,dynamic_int,
fill_bin;

With NAMESPACE

asinfo -v 'bins/test'
num-bin-names=7,bin-names-quota=65535,str_100_bin,
str_uniq_bin,int_uniq_bin,seed,dynamic_str,
dynamic_int,fill_bin
asinfo -v 'bins/test'
num-bin-names=7,bin-names-quota=32768,str_100_bin,
str_uniq_bin,int_uniq_bin,seed,dynamic_str,
dynamic_int,fill_bin
Related Commands
namespace | namespaces | sets | statistics

build

Permission:

authenticated user

Introduced:

3.3.0

Returns the build number for this server.

Format:

build
Additional information

Output

Aerospike build id (version) of this server.
Version number format:
Major.Minor.Build

Examples

Execute Command

asinfo -v 'build'
3.2.8

cluster-stable

Permission:

authenticated user

Introduced:

4.3

The command is used to check if a nodes cluster-state has stabilized. A user will typically run this command across all nodes in the cluster to check if all nodes have converged to the same cluster state by checking that none of the nodes return an error and that they all return the same cluster_key.

Format:

cluster-stable:size=<target-cluster-size>;ignore-migrations=<true/false>;namespace=<namespace-name>
Additional information

Parameters

size
Target size of the cluster to check the cluster-state for.

ignore-migrations
If migration state needs to be ignored when checking for cluster stability. Valid values are true or false. Default is false which will not ignore migrations.

namespace
Name of the namespace to check the cluster-state for. Not specifying the namespace will check across all namespaces.

Output

Returns the current 'cluster_key' when the following are satisfied:

  • If 'size' is specified then the target node's 'cluster-size' must match size.
  • If 'ignore-migrations' is either unspecified or 'false' then the target node's migrations counts must be zero for the provided 'namespace' or all namespaces if 'namespace' is not provided.

Examples

Admin+> asinfo -v "cluster-stable:ignore-migrations=true;size=3;namespace=test"
10.0.100.xxx:3000 returned:
7A54B93FDB52
10.0.100.yyy:3000 returned:
7A54B93FDB52
10.0.100.zzz:3000 returned:
7A54B93FDB52

dc/DC_NAME

Permission:

authenticated user

Introduced:

3.6.0

Removed:

5.0.0

Returns the XDR statistics specific to each XDR destination.

Format:

dc/<DC_NAME>
Additional information

Output

Returns the statistics such as the state of the destination, the timelag, the number of shipping and delete attempts to each remote datacenter etc. These are valid and available for the datacenters defined in the XDR stanza on the source cluster.

Examples

Versions from 3.8 to 5.0

asinfo -v dc/REMOTE_DC_1 -l
dc_state=CLUSTER_UP
dc_timelag=0
dc_rec_ship_attempts=58374
dc_delete_ship_attempts=0
dc_remote_ship_ok=58121
dc_err_ship_client=38
dc_err_ship_server=0
dc_esmt_bytes_shipped=5662278
dc_esmt_ship_avg_comp_pct=0.00
dc_latency_avg_ship=0
dc_remote_ship_avg_sleep=0.000
dc_open_conn=192
dc_recs_inflight=216
dc_size=3

Versions up to 3.7.5

asinfo -v dc/REMOTE_DC_1 -p 3004 -l
xdr-dc-state=CLUSTER_UP
xdr-dc-timelag=0
xdr-dc-rec-ship-attempts=0
xdr-dc-delete-ship-attempts=0
esmt-bytes-shipped-compression=0
esmt-ship-compression=0.00%
lst-main=1459856431988
lst-windowship=18446744073709551615
lst-failednode=18446744073709551615
lst-localmin=0

dcs

Permission:

authenticated user

Introduced:

Removed:

5.0.0

Returns the list of datacenters configured in the XDR context. Note that this includes the inactive DC's and empty skeletons too.

Format:

dcs
Additional information

Examples

List of configured datacenters in XDR context

asinfo -v 'dcs'
DC2;DC3;DC4;DC5;DC6;DC7

dump-skew

Permission:

sys-admin

Introduced:

4.0

Print out clock skew information across the cluster nodes.

Format:

dump-skew:
Additional information

Output

The clock skew for the cluster.

Examples

Print clock skew between nodes in the log

asinfo -v 'dump-skew:'
ok

May 03 2018 23:54:09 GMT: INFO (skew): (skew_monitor.c:587) CSM: cluster-clock-skew:0 May 03 2018 23:54:09 GMT: INFO (skew): (skew_monitor.c:598) CSM: node

hlc-delta:0 May 03 2018 23:54:09 GMT: INFO (skew): (skew_monitor.c:598) CSM: node
hlc-delta:0 May 03 2018 23:54:09 GMT: INFO (skew): (skew_monitor.c:598) CSM: node
hlc-delta:0



dun

Permission:

sys-admin

Introduced:

3.3.0

Removed:

3.9.1

Instruct this server to ignore another node.

Format:

dun:nodes=<NODE ID>[,NODE ID,..]
Additional information

Parameters

nodes
Comma ',' separated list of Node IDs. See node command to retrieve the Node ID for a particular server.

Output

Returns "ok" on success, "error" on failure.

Examples

Dun one node

asinfo -v 'dun:nodes=BB936F106CA0568'
ok

Dun multiple nodes

asinfo -v 'dun:nodes=BB936F106CA0568,BB96CDE06CA0568,BB968DF04CA0568'
ok
Related Commands
mcast | mesh | node | tip | tip-clear

eviction-reset

Permission:

data-admin

Introduced:

4.5.1

Available in server 4.5.1 and later.

Removes a namespace's eviction void time entry in the associated SMD (System Meta Data) file. This will allow (some) previously evicted records to be resurrected on a subsequent cold restart (only those records that have not had their persisted storage block overwritten by other records). This means that the prior eviction depth for the namespace will no longer be enforced -- subsequent nsup cycles will evict again with a recomputed eviction depth when another breach occurs.

Format:

eviction-reset:namespace=<namespace name>
Additional information

Parameters

namespace
Name of the namespace for which to reset eviction.

Output

ok

Examples

Reset eviction for namespace test

asinfo -v 'eviction-reset:namespace=test'

feature-key

Permission:

authenticated user

Introduced:

4.0

For the Aerospike Server Enterprise Edition, returns the contents of the feature-key-file (excluding the signature) at the time the server started.

For the Community Edition, returns the string null.

Format:

feature-key
Additional information

Output

Items are separated by semicolons (default) or with the -l option, newlines.

Examples

List feature keys

asinfo -v 'feature-key' -l
feature-key-version=2
serial-number=XXXXXXXX
valid-until-date=2021-12-31
valid-until-version=5.6
acc-command-center-app=true
acc-command-center-api=true
asdb-change-notification=true
asdb-cluster-nodes-limit=20
asdb-compression=true
asdb-encryption-at-rest=true
asdb-kerberos=true
asdb-ldap=true
asdb-pmem=true
asdb-strong-consistency=true
mesg-jms-connector=true
mesg-kafka-connector=true
raf-realtime-analysis-framework=true

get-config

Permission:

authenticated user

Introduced:

3.3.0

Returns running configuration for all or a particular context.

Format:

get-config[:context=CONTEXT]
get-config:context=namespace<;id=NAMESPACE>
Additional information

Parameters

context
Configuration context to retrieve.
Options:

  • namespace
  • network
  • security
  • service
  • xdr

If context is not included the behavior returns configuration for all contexts excluding namespaces.

id
Used for namespace context only. Is the name of the namespace to get the configuration for.

Output

Security Report Sinks
In server 5.6 and later, the log and syslog subcontext configuration parameters are reported individually, similar to other configuration parameters. However, in server 5.5 and earlier, these parameters are reported in an aggregated format, as represented below.

"Security Report Sinks" show the settings of the log and syslog subcontexts of the security context. The corresponding configuration parameters do not have the -sinks suffix:

The values summarize the parameters' true/false settings. The possible values are (default is 0):

  • 0: The parameter is false in both the log and syslog subcontexts.
  • 1: The parameter is true only in the log subcontext.
  • 2: The parameter is true only in syslog subcontext.
  • 3: The parameter is true in both subcontexts.

Examples

Retrieve configuration for all contexts

asinfo -v "get-config" -l
advertise-ipv6=false
auto-pin=none
batch-index-threads=4
batch-max-buffers-per-queue=255
batch-max-requests=5000
batch-max-unused-buffers=256
cluster-name=null
debug-allocations=none
disable-udf-execution=false
downgrading=false
enable-benchmarks-fabric=false
enable-health-check=false
enable-hist-info=false
enforce-best-practices=false
feature-key-file[0]=/etc/aerospike/features.conf
indent-allocations=false
info-threads=16
keep-caps-ssd-health=false
log-local-time=false
log-millis=false
microsecond-histograms=false: migrate-fill-delay=0
migrate-max-num-incoming=4
migrate-threads=1
min-cluster-size=1
node-id=BB90DAD00290C00
node-id-interface=null
os-group-perms=false
pidfile=null
proto-fd-idle-ms=0
proto-fd-max=15000
query-max-done=100
query-threads-limit=128
run-as-daemon=true
salt-allocations=false
service-threads=20
sindex-builder-threads=4
sindex-gc-period=10
stay-quiesced=false
ticker-interval=10
transaction-max-ms=1000
transaction-retry-ms=1002
vault-ca=null
vault-path=null
vault-token-file=null
vault-url=null
work-directory=/opt/aerospike
service.access-port=0
service.address=any
service.alternate-access-port=0
service.port=3000
service.tls-port=0
service.tls-access-port=0
service.tls-alternate-access-port=0
service.tls-name=null
service.disable-localhost=false
heartbeat.mode=multicast
heartbeat.multicast-group=239.1.99.222
heartbeat.port=9918
heartbeat.multicast-ttl=0
heartbeat.interval=150
heartbeat.timeout=10
heartbeat.connect-timeout-ms=500
heartbeat.mtu=1500
heartbeat.protocol=v3
fabric.tls-port=0
fabric.tls-name=null
fabric.channel-bulk-fds=2
fabric.channel-bulk-recv-threads=4
fabric.channel-ctrl-fds=1
fabric.channel-ctrl-recv-threads=4
fabric.channel-meta-fds=1
fabric.channel-meta-recv-threads=4
fabric.channel-rw-fds=8
fabric.channel-rw-recv-pools=1
fabric.channel-rw-recv-threads=16
fabric.keepalive-enabled=true
fabric.keepalive-intvl=1
fabric.keepalive-probes=10
fabric.keepalive-time=1
fabric.port=3001
fabric.recv-rearm-threshold=1024
fabric.send-threads=8
info.port=3003

Retrieve network configuration

asinfo -v 'get-config:context=network' -l

Retrieve configuration for namespace test

asinfo -v 'get-config:context=namespace;id=test' -l

Retrieve network.info configuration (versions prior to 3.9)

asinfo -v 'get-config:context=network.info' -l

For version 5.0, display the XDR configuration of all defined datacenters

asinfo -h hostIPaddress -v "get-config:context=xdr"

Same command with asadm

Admin+> asinfo -h hostIPaddress -v "get-config:context=xdr"

For version 5.0+, display the XDR configuration of a specific datacenter and all its namespaces

asinfo -h hostIPaddress -v "get-config:context=xdr;dc=DC1"

For version 5.0+, display the XDR configuration a specific datacenter and a specific namespace

asinfo -h hostIPaddress -v "get-config:context=xdr;dc=DC1;namespace=test"
Related Commands
namespace | set-config

get-dc-config

Permission:

authenticated user

Introduced:

3.6.0

Removed:

5.0.0

Returns the configurations for the XDR datacenters. For each datacenter, this lists the following information:

Versions 3.8 to 4.9: Name of the DC, seeded destination nodes, internal to external IP mappings (if any),
alternate services list in use or not, and namespaces configured to ship to the DC.

Versions up to 3.7.5: Name of the DC, seeded destination nodes, internal to external IP mappings (if any),
and namespaces configured to ship to the DC.

Format:

get-dc-config
Additional information

Output

Return value is in the following format:

Versions 4.7.0.2 to 4.9:

dc-name=<dcname>:dc-type<aerospike|http>:tls-name=<tls-name>:dc-security-config-file=</path/to/file>
nodes=<ip>+<port>:auth-mode=<internal|external|external-insecure>:int-ext-ipmap=<internal-ip><external-ip>:
dc-connections=<connections>:dc-connections-idle-ms=<idle time>:dc-use-alternate-services=<true|false>:
namespaces=<ns1>,<ns2>,<ns3>;

Versions between 4.5.0.1 and 4.7.0.2:

dc-name=<dcname>:dc-type<aerospike|http>:tls-name=<tls-name>:dc-security-config-file=</path/to/file>
nodes=<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
dc-connections=<connections>:dc-connections-idle-ms=<idle time>:dc-use-alternate-services=<true|false>:
namespaces=<ns1>,<ns2>,<ns3>;

Versions between 4.4.0.4 and 4.5.0.1:

dc-name=<dcname>:dc-type<aerospike|http>:tls-name=<tls-name>:nodes=<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
dc-connections=<connections>:dc-connections-idle-ms=<idle time>:dc-use-alternate-services=<true|false>:
namespaces=<ns1>,<ns2>,<ns3>;

Versions between 3.15.0.1 and 4.4.0.4:

dc-name=<dcname>:nodes=<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
dc-connections=<connections>:dc-connections-idle-ms=<idle time>:dc-use-alternate-services=<true|false>:
tls-name=<tls-name>:namespaces=<ns1>,<ns2>,<ns3>;

Versions between 3.14.1.1 and 3.15.0.1:

dc-name=<dcname>:nodes=<ip>+<port>,<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
dc-connections=<connections>:dc-connections-idle-ms=<idle time>:dc-use-alternate-services=<true|false>:
tls-cafile=<path to ca file>:tls-capath=<path to ca dir>:tls-certfile=<path to cert file>:
tls-keyfile=<path to key file>:tls-cert-blacklist=<blacklist certs>:namespaces=<ns1>,<ns2>,<ns3>;

Versions between 3.8 and 3.14.1.1:

DC_Name=<dcname>:Nodes=<ip>+<port>,<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
dc-use-alternate-services=<true|false>:namespaces=<ns1>,<ns2>,<ns3>;

Versions up to 3.7.5:

DC_Name1=<dcname>:Nodes=<ip>+<port>,<ip>+<port>:int-ext-ipmap=<internal-ip><external-ip>:
namespaces=<ns1>,<ns2>,<ns3>;

Examples

Versions 4.7.0.2 to 4.9

asinfo -v get-dc-config
dc-name=REMOTE_DC:dc-type=aerospike:tls-name=:dc-security-config-file=/private/aerospike/security_credentials_REMOTE_DC.txt:\
nodes=192.168.100.140+3000,192.168.100.147+3000:auth-mode=internal:int-ext-ipmap=:dc-connections=64:\
dc-connections-idle-ms=55000:dc-use-alternate-services=false:namespaces=test

Versions between 4.5.0.1 and 4.7.0.2

asinfo -v get-dc-config
dc-name=REMOTE_DC:dc-type=aerospike:tls-name=:dc-security-config-file=/private/aerospike/security_credentials_REMOTE_DC.txt:\
nodes=192.168.100.140+3000,192.168.100.147+3000:int-ext-ipmap=:dc-connections=64:\
dc-connections-idle-ms=55000:dc-use-alternate-services=false:namespaces=test

Versions between 4.4.0.4 and 4.5.0.1

asinfo -v get-dc-config
dc-name=REMOTE_DC:dc-type=aerospike:tls-name=:\
nodes=192.168.100.140+3000,192.168.100.147+3000:int-ext-ipmap=:dc-connections=64:\
dc-connections-idle-ms=55000:dc-use-alternate-services=false:namespaces=test

Versions between 3.15.0.1 and 4.4.0.4

asinfo -v get-dc-config
dc-name=REMOTE_DC:nodes=192.168.100.140+3000,192.168.100.147+3000:int-ext-ipmap=:dc-connections=64:\
dc-connections-idle-ms=55000:dc-use-alternate-services=false:tls-name=:namespaces=test

Versions between 3.14.1.1 and 3.15.0.1

asinfo -v get-dc-config
dc-name=REMOTE_DC:nodes=192.168.100.140+3000,192.168.100.147+3000:int-ext-ipmap=:dc-connections=64:\
dc-connections-idle-ms=0:dc-use-alternate-services=false:tls-cafile=:tls-capath=:tls-certfile=:\
tls-keyfile=:tls-cert-blacklist=:namespaces=test

Versions between 3.8 and 3.14.1.1

asinfo -v get-dc-config
value is DC_Name=REMOTE_DC:Nodes=192.168.100.140+3000,192.168.100.147+3000:\
int-ext-ipmap=:dc-use-alternate-services=false:namespaces=test,storage

Versions up to 3.7.5

asinfo -p 3004 -v get-dc-config
value is DC_Name=dc1:Nodes=192.168.100.140+3000:int-ext-ipmap=:namespaces=test

get-stats

Permission:

authenticated user

Introduced:

5.0.0

Returns the statistics for remote datacenters defined in the xdr of the specified host.

Format:

get-stats:context=xdr;dc=dataCenterName
Additional information

Output

Returns a semi-colon-delimited-value list of datacenter statistics, such as the state of the destination, the timelag, the number of shipping and delete attempts to each remote datacenter defined in the XDR stanza on the source cluster.

Examples

Show consolidated stats for all namespaces for datacenter someDataCenterName

asinfo -v "get-stats:context=xdr;dc=someDataCenterName" -l

health-outliers

Permission:

authenticated user

Introduced:

4.3.1.3

Returns list of outliers found and their info. Requires the enable-health-check configuration to be enabled first.

The health-outliers command compares a number of metrics for each host to the same metrics for other nodes within the cluster. For instance, if looking at replication latency, for a given host the replication latency that host is experiencing will be compared to the distribution of replication latencies experienced by the other nodes in the cluster.

The distributions are calculated using Inter Quartile Ranges.

A minimum of four nodes are required for this approach to work as three data points are needed to flag one of them as outlier. We cannot determine an outlier with 2 data points.

Metrics used are replication latency, device read latency, fabric connections opened, node arrivals and proxies.

Use of a statistical approach allows us to give confidence estimates with respect to how anomalous a point might be. In simple terms, the further away from existing points our node metric is, the more likely it is that a problem is indicated.

Format:

health-outliers
Additional information

Output

Returns a list of tuples.
id=. . .

=. . .
=. . .
where:

  • id is either node id or the device id which is declared as an outlier.
  • confidence-pct is a metric when high denotes that the stat is highly skewed.
  • reason is the description of the stat that is responsible for declaring id as an outlier.

Examples

Execute Command

asinfo -v 'health-outliers' -l
id=bb9040011ac4202:confidence_pct=100:reason=fabric_connections_opened
id=bb9040011ac4202:confidence_pct=100:reason=proxies
id=bb9040011ac4202:confidence_pct=100:reason=node_arrivals
id=/opt/aerospike/data/bar2.dat:namespace=test:confidence_pct=100:reason=device_read_latency

health-stats

Permission:

authenticated user

Introduced:

4.3.1.3

Returns list of stats maintained by health-stats for reference. Requires the enable-health-check configuration to be enabled first.

Format:

health-stats
Additional information

Output

Returns list of tuples.
stat=. . .

=. . .
/device=. . .
where:

  • stat is used to identify the type of statistics.
  • valueis the current moving average.
  • node is the node id.
  • device is the device name, and the value for device_read_latency is in microseconds.

Examples

Execute Command

asinfo -v 'health-stats' -l
stat=fabric_connections_opened:value=0:node=BB9070011AC4202
stat=fabric_connections_opened:value=0:node=BB9030011AC4202
stat=fabric_connections_opened:value=0:node=BB9050011AC4202
stat=fabric_connections_opened:value=153:node=BB9040011AC4202
stat=test_device_read_latency:value=1408:device=/opt/aerospike/data/bar1.dat:namespace=test
stat=test_device_read_latency:value=306132:device=/opt/aerospike/data/bar2.dat:namespace=test
stat=test_device_read_latency:value=11630:device=/opt/aerospike/data/bar3.dat:namespace=test

hist-dump

Permission:

authenticated user

Introduced:

3.3.0

Removed:

4.2.0.2

Returns a histogram snapshot for a particular histogram. Those histograms are computed by the namespace supervisor, therefore, there may be some delay for them to be updated. The nsup-period can be adjusted but it should be noted that it will run sequentially through each namespace and may take longer to complete based on the number of records in each namespace.
Replaced by the info command histogram as of version 4.2.0.2. Refer to the histogram info command for additional details.

Format:

hist-dump:ns=<NAMESPACE>;hist=<HISTOGRAM>
Additional information

Parameters

ns
Name of the namespace to query a histogram from.

hist
Name of the histogram to query.
Options:

  • ttl - Time to live distribution of the records.
  • evict - Histogram built and used by the eviction process (removed as of 3.8.0)
  • objsz - Object (record) size distribution of the records.

Output

ttl
Returns a histogram with the following format:
NAMESPACE

=NUM_BUCKETS,BUCKET_WIDTH,BUCKET_0,BUCKET_1,...

Where:

  • HISTOGRAM is ttl or evict
  • NUM_BUCKETS is 100
  • BUCKET_WIDTH varies based on data with the current max Void Time in seconds.
    Note: Records with indefinite TTLs (TTL = 0) are not represented in ttl or evict histograms.
  • BUCKET_0 are records between 0 * BUCKET_WIDTH and 1 * BUCKET_WIDTH.
  • BUCKET_1 are records between 1 * BUCKET_WIDTH and 2 * BUCKET_WIDTH.

  • BUCKET_99 are records between 99 * BUCKET_WIDTH and 100 * BUCKET_WIDTH.

objsz
Returns a histogram with the following format:
NAMESPACE

=NUM_BUCKETS,BUCKET_WIDTH,BUCKET_0,BUCKET_1,...

Where:

  • HISTOGRAM is objsz
  • NUM_BUCKETS is 100
  • BUCKET_WIDTH is 1 by default and indicates one rblock (Record Block) which as of 3.1.3 is 128 bytes. The bucket width value can be increased by changing obj-size-hist-max value.
  • BUCKET_0 represents the number of master records fitting in more than 0 rblocks and strictly under 1 * BUCKET_WIDTH rblock(s). Since no records can fit into a number of rblocks strictly less 1 (which can only be 0 rblock), with the default obj-size-hist-max, BUCKET_0 is always 0.
  • BUCKET_1 represents the number of master records fitting in more than 1 * BUCKET_WIDTH rblock(s) and strictly less than 2 * BUCKET_WIDTH rblocks.

  • BUCKET_99 represents the number of master records fitting in more than 99 * BUCKET_WIDTH rblocks.

If the last bucket has a non null number of records, it would be necessary to increase the obj-size-hist-max and wait for an nsup cycle to complete in order to make sure the total range of object sizes in the namespace is covered, As of Aerospike Version 3.6.1, the objsz histogram is also available at the set level.
For example: asinfo -v "hist-dump:ns=<NAMESPACE>;set=<SET>;hist=objsz"

Examples

Object size histogram with default obj-size-hist-max=100 (all records of size 12.5KB in this example)

asinfo -v 'hist-dump:ns=test;hist=objsz'
test:objsz=100,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,679707;

Object size histogram with obj-size-hist-max=1000 for namespace test, set testset (all records of size 12.5KB in this example)

asinfo -v 'hist-dump:ns=test;set=testset;hist=objsz'
test:objsz=100,10,0,0,0,0,0,0,0,0,0,0,679707,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;

Time to live histogram

asinfo -v 'hist-dump:ns=test;hist=ttl'
test:ttl=100,25245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1657;

hist-track-start

Permission:

sys-admin

Introduced:

3.9

Removed:

5.1

Start or Restart histogram tracking.

Format:

hist-track-start:[back=BACK;slice=SLICE;thresholds=THRESHOLDS;hist=HIST]
Additional information

Parameters

hist
Histogram name - if none is provided, command applies to all namespace tracked histograms, which are the read, write, udf and query histograms'.
[Default: all namespace tracked histograms]
Options (ns being the namespace name):

  • {ns}-read
  • {ns}-write
  • {ns}-udf
  • {ns}-query
  • batch-index
    To know more about histograms, see Monitoring latencies.
note

Note that the histograms naming convention has changed in server 3.9 and later. For details on version prior to 3.9, see Monitoring latencies pre-3.9.

back
Total time span in seconds over which to cache data.
[Default: aerospike.conf value if defined, otherwise mandatory]

slice
Period in seconds at which to cache histogram data.
[Default: aerospike.conf value if defined, otherwise 10]

thresholds
Comma-separated bucket (ms) values to track, must be powers of 2.
eg. 1,4,16,64
[Default: aerospike.conf value if defined, otherwise 1,8,64]

Output

On success returns "ok", use get-config to confirm settings. To persist settings update aerospike.conf.

Examples

Configure reads histogram

asinfo -v 'hist-track-start:hist={ns}-read;back=43200;slice=30;thresholds=1,4,16,64;'
ok

Configure all histograms

asinfo -v 'hist-track-start:hist={ns}-read;back=43200;thresholds=1,2,4,8,16,32;'
ok
Related Commands
hist-track-stop | latency | throughput

hist-track-stop

Permission:

sys-admin

Introduced:

3.9

Removed:

5.1

Stop histogram tracking.

Format:

hist-track-stop:[hist=HIST]
Additional information

Parameters

hist
Histogram name - if none is provided, command applies to all namespace tracked histograms, which are the read, write, udf and query histograms'.
[Default: all namespace tracked histograms]
Options (ns being the namespace name):

  • {ns}-read
  • {ns}-write
  • {ns}-udf
  • {ns}-query
  • batch-index
    To know more about histograms, see Monitoring latencies.
note

Note that the histograms naming convention has changed in server 3.9 and later. For details on version prior to 3.9, see Monitoring latencies pre-3.9.

Output

On success returns "ok", use get-config to confirm settings. To persist settings update aerospike.conf.

Examples

Stop UDF histogram collection

asinfo -v 'hist-track-stop:hist={ns}-udf'
ok

Stop all histogram collection

asinfo -v 'hist-track-stop:'
ok
Related Commands
hist-track-start | latency | throughput

histogram

Permission:

authenticated user

Introduced:

4.2.0.2

Returns a histogram snapshot for a namespace[/set] and histogram type.
Prior to version 4.5.1, the ttl histogram is computed by the namespace supervisor (NSUP), therefore, it is updated every NSUP interval or duration of an NSUP cycle (whichever is longer), while the object-size and object-size-linear histograms are updated every object-size-hist-period (default is 1 hour).
As of version 4.5.1, all of these histograms are computed by NSUP and updated every nsup-hist-period (default is 1 hour).
Note that prior to version 5.3, the object-size and object-size-linear histograms are not available for namespaces with storage-engine memory.

Format:

histogram:namespace=<NAMESPACE>;[set=<SET>;]type=<TYPE>
Additional information

Parameters

namespace
Name of the namespace to retrieve a histogram from.

type
Type of histogram to be retrieved.
Options:

  • ttl - Time to live distribution of records represented as a linear histogram.
  • object-size - Size distribution of objects (non-tombstones records) represented as a logarithmic histogram.
  • object-size-linear - Size distribution of objects (non-tombstones records) represented as a linear histogram.

set
(Optional) Name of a particular set to retrieve a histogram from.

Output

Linear Histograms
Types: ttl, object-size-linear

Returns a linear histogram with the following format:

units=UNITS:hist-width=HIST-WIDTH:bucket-width=BUCKET-WIDTH:buckets=BUCKETS;

Where:

  • UNITS: The unit type being represented. Notice that for object-size, the unit is 'bytes' not 'rblocks'.
  • HIST-WIDTH: The total size of the entire histogram. Notice that for object-size this will equal the 'write-block-size' for the namespace, unless the namespace is 'storage-engine memory', in which case it will be 1 MiB.
  • BUCKET-WIDTH: The size of an individual bucket.
  • BUCKETS: 1024 comma separated counters.

Logarithmic Histograms
Types: object-size

Returns a logarithmic histogram with the following format:

units=UNITS:INTERVALS

Where:

  • UNITS: The unit type being represented. Notice that for object-size, the unit is bytes' not 'rblocks'.
  • INTERVALS: Only intervals having a value greater than 0 are shown. Interval keys use interval notation where '[' means that it begins and includes this value and ')' means it ends at but does not include that value. The value for each key is the number of elements that fall within this interval. Notice that the intervals will also include an SI unit i.e. K=[2^10 to 2^20), M=[2^20 to 2^30), G=[2^30 to 2^40), T=[2^40 to 2^50), P=[2^50 to 2^60], E=[2^60 to 2^70). Values exceeding 8E (8 Exaunits) are placed in the last bucket which would be represented as [8E-inf).

Examples

Logarithmic 'Object Size' histogram for namespace 'test'

asinfo -v 'histogram:type=object-size;namespace=test'
units=bytes:[64-128)=2964:[64K-128K)=1234

Linear 'Object Size' histogram for namespace 'test'

asinfo -v 'histogram:type=object-size-linear;namespace=test'
units=bytes:hist-width=8388608:bucket-width=8192:buckets=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Linear 'Time to Live' histogram for namespace 'test'

asinfo -v 'histogram:namespace=test;type=ttl'
<Output similar to linear 'Object Size' histogram>

Linear 'Time to Live' histogram for set 'testset' of namespace 'test'

asinfo -v 'histogram:namespace=test;set=testset;type=ttl'
<Output similar to linear 'Object Size' histogram>

index-pressure

Permission:

authenticated user

Introduced:

4.8

Display index dirty pages. The two numbers shown in the output give the total amount of memory and the amount of memory in dirty pages (not flushed to disk). The command is most useful when the primary index is on disk. The command gives an idea of how far behind the write back process, where pages in RAM are written back to disk, is running. If the write back process runs too far behind, dirty pages accumulate in RAM and eventually the system will run out of memory. This command provides a means of tracking that.

Format:

index-pressure
Additional information

Examples

Display index pressure

$ asinfo -l -v index-pressure
test:1630212096:69632

jobs

Permission:

data-admin

Introduced:

3.3.0

Removed:

4.9.0

Command and Control for queries and scans.

Format:

jobs:
jobs:module=MODULE
jobs:module=MODULE;cmd=COMMAND;trid=TRANSACTIONID
jobs:module=MODULE;cmd=COMMAND;trid=TRANSACTIONID;value=VALUE
Additional information

Parameters

cmd
Action to execute against a particular transaction. Requires data-admin or sys-admin privileges for security enabled clusters.
Options:

  • get-job
  • kill-job
  • set-priority

module
Name of the module to query statistics or execute a command on.
Options:

  • scan
  • query
  • sindex-builder - Removed in server version 5.7

trid
Unique Identification number for a scan or query transaction. Use either "jobs:" or "jobs

=MODULE" forms to find Transaction IDs.

value
Value to provide to the command.

Output

Module Scan
null

Command Executions
As of this documentation commands do not acknowledge success, but will acknowledge failure.

Job Status Responses
* active(ok) – In Progress

  • done(ok) – Completed with no error
  • done(user-aborted) – Scan aborted by user
  • done(abandoned-unknown) – Scan aborted with unknown failure
  • done(abandoned-cluster-key) – Scan aborted due to cluster key change
  • done(abandoned-response-error) – Scan aborted due to response error
  • done(abandoned-response-timeout) – Scan aborted due to timeout

Examples

Query All Job Stats

asinfo -v "jobs:" -l
module=scan:trid=1225169085971291877:job-type=basic:ns=test:priority=1:status=done(abandoned-\
response-error):job-progress=12.38:run-time=1003:time-since-done=120794:recs-read=73362:net-i\
o-bytes=11864041:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6741947622470254455:job-type=basic:ns=test:set=MySetName1:priority=1:status=\
done(ok):job-progress=100.00:run-time=192:time-since-done=154105:recs-read=17251:net-io-bytes\
=2253844:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6106310598564268407:job-type=basic:ns=test:set=MySetName1:priority=1:status=\
done(ok):job-progress=100.00:run-time=149:time-since-done=302042:recs-read=3431:net-io-bytes=\
456324:socket-timeout=10000:from=98.76.543.21+2005
module=sindex-builder:trid=3:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=185:time-since-done=463265:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName3
module=sindex-builder:trid=2:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=153:time-since-done=502038:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName2
module=sindex-builder:trid=1:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=213:time-since-done=530942:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName1

Request All Scan Stats

asinfo -v 'jobs:module=scan' -l
module=scan:trid=1225169085971291877:job-type=basic:ns=test:priority=1:status=done(abandoned-\
response-error):job-progress=12.38:run-time=1003:time-since-done=120794:recs-read=73362:net-i\
o-bytes=11864041:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6741947622470254455:job-type=basic:ns=test:set=MySetName1:priority=1:status=\
done(ok):job-progress=100.00:run-time=192:time-since-done=154105:recs-read=17251:net-io-bytes\
=2253844:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6106310598564268407:job-type=basic:ns=test:set=MySetName1:priority=1:status=\
done(ok):job-progress=100.00:run-time=149:time-since-done=302042:recs-read=3431:net-io-bytes=\
456324:socket-timeout=10000:from=98.76.543.21+2005
Related Commands
statistics

jobs

Permission:

data-admin

Introduced:

4.9.0

Command and Control for queries and scans. Note: this command is deprecated as of server version 5.7. For scan and query management with version 5.7 or later, the recommended commands are scan-show, scan-abort, query-show, and query-abort.

Format:

jobs:
jobs:module=MODULE
jobs:module=MODULE;cmd=COMMAND;trid=TRANSACTIONID
jobs:module=MODULE;cmd=COMMAND;trid=TRANSACTIONID;value=VALUE
Additional information

Parameters

cmd
Action to execute against a particular transaction. Requires data-admin or sys-admin privileges for security enabled clusters.
Options:

  • get-job
  • kill-job
  • set-priority

module
Name of the module to query statistics or execute a command on.
Options:

  • scan
  • query
  • sindex-builder - Removed in server version 5.7

trid
Unique Identification number for a scan or query transaction. Use either "jobs:" or "jobs

=MODULE" forms to find Transaction IDs.

value
Value to provide to the command.

Output

Module Scan
null

Command Executions
As of this documentation commands do not acknowledge success, but will acknowledge failure.

Job Status Responses
* active(ok) – In Progress

  • done(ok) – Completed with no error
  • done(user-aborted) – Scan aborted by user
  • done(abandoned-unknown) – Scan aborted with unknown failure
  • done(abandoned-cluster-key) – Scan aborted due to cluster key change
  • done(abandoned-response-error) – Scan aborted due to response error
  • done(abandoned-response-timeout) – Scan aborted due to timeout

Examples

Query All Job Stats

asinfo -v "jobs:" -l
module=scan:trid=1225169085971291877:job-type=basic:ns=test:priority=1:n-pids-requested=1:status=done(abandoned-\
response-error):job-progress=12.38:run-time=1003:time-since-done=120794:recs-read=73362:net-i\
o-bytes=11864041:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6741947622470254455:job-type=basic:ns=test:set=MySetName1:priority=1:n-pids-requested=1:status=\
done(ok):job-progress=100.00:run-time=192:time-since-done=154105:recs-read=17251:net-io-bytes\
=2253844:socket-timeout=30000:from=98.76.543.21+2005
module=scan:trid=6106310598564268407:job-type=basic:ns=test:set=MySetName1:priority=1:n-pids-requested=1:status=\
done(ok):job-progress=100.00:run-time=149:time-since-done=302042:recs-read=3431:net-io-bytes=\
456324:socket-timeout=10000:from=98.76.543.21+2005
module=sindex-builder:trid=3:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=185:time-since-done=463265:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName3
module=sindex-builder:trid=2:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=153:time-since-done=502038:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName2
module=sindex-builder:trid=1:job-type=sindex-build:ns=test:set=MySetName1:priority=2:status=d\
one(ok):job-progress=100.00:run-time=213:time-since-done=530942:recs-read=6555:net-io-bytes=0\
:socket-timeout=0:sindex-name=IdxName1

Request All Scan Stats

asinfo -v 'jobs:module=scan' -l
module=scan:trid=15685911422701175574:job-type=basic:\
ns=test:set=scan1_e1:priority=0:n-pids-requested=1:\
rps=0:active-threads=0:status=done(ok):job-progress=100.00:\
run-time=0:time-since-done=12611917:recs-throttled=0:\
recs-filtered-meta=0:recs-filtered-bins=0:recs-succeeded=0:\
recs-failed=0:net-io-bytes=68:socket-timeout=10000:\
from=192.168.200.227+35660
Related Commands
statistics

latencies

Permission:

authenticated user

Introduced:

5.1

Returns latency data for all enabled histograms or a single histogram if one is specified. Only the most recent time slice (as governed by the ticker interval) is tracked. These histograms contain 17 latency buckets (ranging from 0 to 216 time units) and all are displayed, following the scale tag (for example, msec) and the transactions-per-second value. All enabled benchmarks can be tracked in server 5.1 and later. Versions prior to 5.1 only allowed for the auto-enabled benchmarks to be tracked through the info protocol.

To learn more about benchmark histograms, see Monitoring latencies.

If latency data is unavailable (if no transaction of that type has taken place), the histogram name is printed, but no data follows that histogram name. Example:

asinfo -v 'latencies:hist={test}-read'
{test}-read:

Format:

latencies:[hist=histogramName;]
Additional information

Parameters

hist
Histogram name - if none is provided, command applies to the auto-enabled benchmarks.
[Default: all auto-enabled benchmarks]
Options (ns being the namespace name):

  • {ns}-re-repl
  • {ns}-read
  • {ns}-udf
  • {ns}-write
  • {ns}-pi-query
  • {ns}-si-query

Output

Return value is in the following format: histogramName_0:timeUnit,ops/sec,threshOld_0,threshOld_1,...;histogramName_1:...

Examples

Show all default histograms

asinfo -v 'latencies:' -l
batch-index:
{test}-read:msec,1.5,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write:msec,5.6,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-udf:msec,1.7,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-pi-query:
{test}-si-query:

Show read latency histogram

asinfo -v 'latencies:hist={test}-read'
{test}-read:msec,10.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00

Show write histograms with write benchmarks enabled

asinfo -v 'latencies:hist={test}-benchmarks-write' -l
{test}-write-start:msec,341.9,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write-restart:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write-dup-res:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write-master:msec,341.9,58.53,1.35,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write-repl-write:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{test}-write-response:msec,342.0,0.03,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00

latency

Permission:

authenticated user

Introduced:

3.9

Removed:

5.2

Note: The latency command was replaced by latencies in version 5.1 and removed in version 5.2. <br /
Returns latency and throughput information. Prints error-no-data-yet-or-back-too-small (in versions prior to 5.1) or simply the histogram name (in version 5.1) if latency data is unavailable.

Format:

latency:[hist=HISTOGRAM;][back=BACK;][duration=DURATION;][slice=SLICE]
Additional information

Parameters

hist
Histogram name - if none is provided, command applies to all namespace tracked histograms, which are the read, write, udf and query histograms'.
[Default: all namespace tracked histograms]
Options (ns being the namespace name):

  • {ns}-query
  • {ns}-query-rec-count
  • {ns}-re-repl
  • {ns}-read
  • {ns}-udf
  • {ns}-write
  • batch-index
    To know more about histograms, see Monitoring latencies.
note

Note that the histograms naming convention has changed in server 3.9 and later. For details on version prior to 3.9, see Monitoring latencies pre-3.9.

back
Removed in Aerospike Server version 5.1.
Start search this many seconds before now.
[Default: Minimum to get last slice.]
Note: Using back=0 will query starting from oldest cache.

duration
Removed in Aerospike Server version 5.1.
Seconds (forward) from start to search.
[Default: 0, everything to present]

slice
Removed in Aerospike Server version 5.1.
Intervals (in seconds) to analyze.
[Default: 0, everything as one slice]

Output

Return value is in the following format: HISTOGRAM_0:TIME_START,ops/sec,THRESHHOLD_0,THRESHHOLD_1,...;HISTOGRAM_1:...

Examples

Show All Latency Histograms

asinfo -v latency: -l
{ns}-read:23:53:38-GMT,ops/sec,>1ms,>8ms,>64ms
23:53:48,5234.4,0.54,0.02,0.00
{ns}-write:23:53:38-GMT,ops/sec,>1ms,>8ms,>64ms
23:53:48,354.7,2.34,0.77,0.00
error-no-data-yet-or-back-too-small
error-no-data-yet-or-back-too-small

Show Read Latency Histogram

asinfo -v 'latency:hist={ns}-read;slice=30;back=300;duration:120'
{ns}-read:23:50:28-GMT,ops/sec,>1ms,>8ms,>64ms;23:50:58,0.0,0.00,0.00,0.00;
23:51:28,0.0,0.00,0.00,0.00;23:51:58,0.0,0.00,0.00,0.00;23:52:28,0.0,0.00,0.00,0.00;
23:52:58,0.0,0.00,0.00,0.00;23:53:28,0.0,0.00,0.00,0.00;23:53:58,0.0,0.00,0.00,0.00;
23:54:28,0.0,0.00,0.00,0.00;23:54:58,0.0,0.00,0.00,0.00

log

Permission:

authenticated user

Introduced:

3.3.0

Returns a list of logging contexts and their associated verbosity levels.

Format:

log/<LOG>
log/<LOG>/<CONTEXT>
Additional information

Parameters

LOG
Identifier for the logged component.

CONTEXT
(Optional) Which logging context to query the verbosity.

Output

If a CONTEXT is not provided
Returns Semicolon ';' delimited list of CONTEXT

If a CONTEXT is provided
Returns requested CONTEXT

Examples

asinfo -v 'log/0/fabric'
fabric:INFO
Related Commands
logs | log-set

log-set

Permission:

sys-admin

Introduced:

3.3.0

Sets verbosity for logging contexts. set-log is a synonym.

Format:

log-set:id=<SINK_ID>;<CONTEXT>=<VERBOSITY>
Additional information

Parameters

SINK_ID
The log identifier to make a verbosity change on. See logs for a list of SINK_IDs.

CONTEXT
The logging context to make a verbosity change on. See log for a list of CONTEXTs.

VERBOSITY
The verbosity level to make the selected context.
Options:

  • critical
  • warning
  • info
  • debug
  • detail

Output

Returns 'ok' on success. To config change see log.

Examples

asinfo -v 'log-set:id=0;fabric=debug'
ok
Related Commands
log | logs

logs

Permission:

authenticated user

Introduced:

3.3.0

Returns a list of log file locations in use by this server.

Format:

logs
Additional information

Output

List of log "Sink IDs" and their associated output location

Examples

asinfo -v 'logs'
0:/var/log/aerospike/aerospike.log
Related Commands
log | log-set

mcast

Permission:

authenticated user

Introduced:

3.3.0

Returns the multicast heartbeat address and port used by this server. Only available in multicast heartbeat mode.

Format:

mcast
Additional information

Output

MULTICAST_IP

for the target Aerospike Server.

Examples

asinfo -v 'mcast'
239.1.98.29:9918
Related Commands
mesh

mesh

Permission:

authenticated user

Introduced:

3.3.0

Returns the heartbeat address and port used by this server. Only available in mesh heartbeat mode.

Format:

mesh
Additional information

Output

HOST_IP

for the target Aerospike Server.

Examples

asinfo -v 'mesh'
172.16.121.138:3002
Related Commands
mcast | tip | tip-clear

namespace

Permission:

authenticated user

Introduced:

3.3.0

Returns health and usage stats for a particular namespace.

Format:

namespace/<NAMESPACE>
Additional information

Parameters

NAMESPACE
The namespace name to query for associated configuration parameters and statistics.
Some direct links for a couple of such entries: replication-factor, memory-size, objects, master_objects.

Examples

Server version 6.0 and later

asinfo -v 'namespace/test'-ll
s_cluster_size=1
effective_replication_factor=1
objects=500
tombstones=0
xdr_tombstones=0
xdr_bin_cemeteries=0
master_objects=500
master_tombstones=0
prole_objects=0
prole_tombstones=0
non_replica_objects=0
non_replica_tombstones=0
unreplicated_records=0
dead_partitions=0
unavailable_partitions=0
clock_skew_stop_writes=false
stop_writes=false
hwm_breached=false
current_time=382320584
non_expirable_objects=0
expired_objects=0
evicted_objects=0
evict_ttl=0
evict_void_time=0
smd_evict_void_time=0
nsup_cycle_duration=0
truncate_lut=382320545369
truncated_records=2216
sindex_gc_cleaned=0
memory_used_bytes=2342144
memory_used_data_bytes=0
memory_used_index_bytes=32000
memory_used_set_index_bytes=0
memory_used_sindex_bytes=2310144
memory_free_pct=99
xmem_id=1
available_bin_names=65471
device_total_bytes=2147483648
device_used_bytes=64800
device_free_pct=99
device_available_pct=98
cache_read_pct=0
storage-engine.file[0].used_bytes=64800
storage-engine.file[0].free_wblocks=253
storage-engine.file[0].write_q=0
storage-engine.file[0].writes=1
storage-engine.file[0].defrag_q=0
storage-engine.file[0].defrag_reads=0
storage-engine.file[0].defrag_writes=0
storage-engine.file[0].shadow_write_q=0
storage-engine.file[0].age=-1
record_proto_uncompressed_pct=0.000
record_proto_compression_ratio=1.000
query_proto_uncompressed_pct=0.000
query_proto_compression_ratio=1.000
pending_quiesce=false
effective_is_quiesced=false
nodes_quiesced=0
effective_prefer_uniform_balance=true
migrate_tx_partitions_imbalance=0
migrate_tx_instances=0
migrate_rx_instances=0
migrate_tx_partitions_active=0
migrate_rx_partitions_active=0
migrate_tx_partitions_initial=0
migrate_tx_partitions_remaining=0
migrate_tx_partitions_lead_remaining=0
migrate_rx_partitions_initial=0
migrate_rx_partitions_remaining=0
migrate_records_skipped=0
migrate_records_transmitted=0
migrate_record_retransmits=0
migrate_record_receives=0
migrate_signals_active=0
migrate_signals_remaining=0
appeals_tx_active=0
appeals_rx_active=0
appeals_tx_remaining=0
appeals_records_exonerated=0
client_tsvc_error=0
client_tsvc_timeout=0
client_proxy_complete=0
client_proxy_error=0
client_proxy_timeout=0
client_read_success=2476
client_read_error=1
client_read_timeout=0
client_read_not_found=5
client_read_filtered_out=79
client_write_success=8412
client_write_error=18
client_write_timeout=0
client_write_filtered_out=1
xdr_client_write_success=0
xdr_client_write_error=0
xdr_client_write_timeout=0
client_delete_success=2684
client_delete_error=1
client_delete_timeout=0
client_delete_not_found=103
client_delete_filtered_out=1
xdr_client_delete_success=0
xdr_client_delete_error=0
xdr_client_delete_timeout=0
xdr_client_delete_not_found=0
client_udf_complete=36
client_udf_error=3
client_udf_timeout=0
client_udf_filtered_out=1
client_lang_read_success=27
client_lang_write_success=9
client_lang_delete_success=0
client_lang_error=3
from_proxy_tsvc_error=0
from_proxy_tsvc_timeout=0
from_proxy_read_success=0
from_proxy_read_error=0
from_proxy_read_timeout=0
from_proxy_read_not_found=0
from_proxy_read_filtered_out=0
from_proxy_write_success=0
from_proxy_write_error=0
from_proxy_write_timeout=0
from_proxy_write_filtered_out=0
xdr_from_proxy_write_success=0
xdr_from_proxy_write_error=0
xdr_from_proxy_write_timeout=0
from_proxy_delete_success=0
from_proxy_delete_error=0
from_proxy_delete_timeout=0
from_proxy_delete_not_found=0
from_proxy_delete_filtered_out=0
xdr_from_proxy_delete_success=0
xdr_from_proxy_delete_error=0
xdr_from_proxy_delete_timeout=0
xdr_from_proxy_delete_not_found=0
from_proxy_udf_complete=0
from_proxy_udf_error=0
from_proxy_udf_timeout=0
from_proxy_udf_filtered_out=0
from_proxy_lang_read_success=0
from_proxy_lang_write_success=0
from_proxy_lang_delete_success=0
from_proxy_lang_error=0
batch_sub_tsvc_error=0
batch_sub_tsvc_timeout=0
batch_sub_proxy_complete=0
batch_sub_proxy_error=0
batch_sub_proxy_timeout=0
batch_sub_read_success=959
batch_sub_read_error=0
batch_sub_read_timeout=0
batch_sub_read_not_found=51
batch_sub_read_filtered_out=1
batch_sub_write_success=0
batch_sub_write_error=0
batch_sub_write_timeout=0
batch_sub_write_filtered_out=0
batch_sub_delete_success=0
batch_sub_delete_error=0
batch_sub_delete_timeout=0
batch_sub_delete_not_found=0
batch_sub_delete_filtered_out=0
batch_sub_udf_complete=0
batch_sub_udf_error=0
batch_sub_udf_timeout=0
batch_sub_udf_filtered_out=0
batch_sub_lang_read_success=0
batch_sub_lang_write_success=0
batch_sub_lang_delete_success=0
batch_sub_lang_error=0
from_proxy_batch_sub_tsvc_error=0
from_proxy_batch_sub_tsvc_timeout=0
from_proxy_batch_sub_read_success=0
from_proxy_batch_sub_read_error=0
from_proxy_batch_sub_read_timeout=0
from_proxy_batch_sub_read_not_found=0
from_proxy_batch_sub_read_filtered_out=0
from_proxy_batch_sub_write_success=0
from_proxy_batch_sub_write_error=0
from_proxy_batch_sub_write_timeout=0
from_proxy_batch_sub_write_filtered_out=0
from_proxy_batch_sub_delete_success=0
from_proxy_batch_sub_delete_error=0
from_proxy_batch_sub_delete_timeout=0
from_proxy_batch_sub_delete_not_found=0
from_proxy_batch_sub_delete_filtered_out=0
from_proxy_batch_sub_udf_complete=0
from_proxy_batch_sub_udf_error=0
from_proxy_batch_sub_udf_timeout=0
from_proxy_batch_sub_udf_filtered_out=0
from_proxy_batch_sub_lang_read_success=0
from_proxy_batch_sub_lang_write_success=0
from_proxy_batch_sub_lang_delete_success=0
from_proxy_batch_sub_lang_error=0
udf_sub_tsvc_error=0
udf_sub_tsvc_timeout=0
udf_sub_udf_complete=497
udf_sub_udf_error=0
udf_sub_udf_timeout=0
udf_sub_udf_filtered_out=160
udf_sub_lang_read_success=52
udf_sub_lang_write_success=304
udf_sub_lang_delete_success=141
udf_sub_lang_error=0
ops_sub_tsvc_error=0
ops_sub_tsvc_timeout=0
ops_sub_write_success=114
ops_sub_write_error=0
ops_sub_write_timeout=0
ops_sub_write_filtered_out=0
dup_res_ask=0
dup_res_respond_read=0
dup_res_respond_no_read=0
retransmit_all_read_dup_res=0
retransmit_all_write_dup_res=0
retransmit_all_write_repl_write=0
retransmit_all_delete_dup_res=0
retransmit_all_delete_repl_write=0
retransmit_all_udf_dup_res=0
retransmit_all_udf_repl_write=0
retransmit_all_batch_sub_dup_res=0
retransmit_udf_sub_dup_res=0
retransmit_udf_sub_repl_write=0
retransmit_ops_sub_dup_res=0
retransmit_ops_sub_repl_write=0
pi_query_short_basic_complete=0
pi_query_short_basic_error=0
pi_query_short_basic_timeout=0
pi_query_long_basic_complete=36
pi_query_long_basic_error=0
pi_query_long_basic_abort=0
pi_query_aggr_complete=0
pi_query_aggr_error=0
pi_query_aggr_abort=0
pi_query_udf_bg_complete=7
pi_query_udf_bg_error=0
pi_query_udf_bg_abort=0
pi_query_ops_bg_complete=2
pi_query_ops_bg_error=0
pi_query_ops_bg_abort=0
si_query_short_basic_complete=0
si_query_short_basic_error=0
si_query_short_basic_timeout=0
si_query_long_basic_complete=24
si_query_long_basic_error=1
si_query_long_basic_abort=0
si_query_aggr_complete=6
si_query_aggr_error=0
si_query_aggr_abort=0
si_query_udf_bg_complete=1
si_query_udf_bg_error=0
si_query_udf_bg_abort=0
si_query_ops_bg_complete=2
si_query_ops_bg_error=0
si_query_ops_bg_abort=0
geo_region_query_reqs=2
geo_region_query_cells=24
geo_region_query_points=0
geo_region_query_falsepos=0
re_repl_success=0
re_repl_error=0
re_repl_timeout=0
fail_xdr_forbidden=0
fail_key_busy=0
fail_generation=3
fail_record_too_big=0
fail_client_lost_conflict=0
fail_xdr_lost_conflict=0
deleted_last_bin=2
allow-ttl-without-nsup=false
background-query-max-rps=10000
conflict-resolution-policy=generation
conflict-resolve-writes=false
data-in-index=false
default-ttl=0
disable-cold-start-eviction=false
disable-write-dup-res=false
disallow-null-setname=false
enable-benchmarks-batch-sub=false
enable-benchmarks-ops-sub=false
enable-benchmarks-read=false
enable-benchmarks-udf=false
enable-benchmarks-udf-sub=false
enable-benchmarks-write=false
enable-hist-proxy=false
evict-hist-buckets=10000
evict-tenths-pct=5
high-water-disk-pct=0
high-water-memory-pct=0
ignore-migrate-fill-delay=false
index-stage-size=1073741824
index-type=shmem
max-record-size=0
memory-size=2147483648
migrate-order=5
migrate-retransmit-ms=5000
migrate-sleep=1
nsup-hist-period=3600
nsup-period=120
nsup-threads=1
partition-tree-sprigs=256
prefer-uniform-balance=true
rack-id=0
read-consistency-level-override=off
reject-non-xdr-writes=false
reject-xdr-writes=false
replication-factor=1
single-bin=false
single-query-threads=4
stop-writes-pct=90
strong-consistency=false
strong-consistency-allow-expunge=false
tomb-raider-eligible-age=86400
tomb-raider-period=86400
transaction-pending-limit=20
truncate-threads=4
write-commit-level-override=off
xdr-bin-tombstone-ttl=86400
xdr-tomb-raider-period=120
xdr-tomb-raider-threads=1
storage-engine=device
storage-engine.file[0]=/etc/aerospike/test.dat
storage-engine.cache-replica-writes=false
storage-engine.cold-start-empty=false
storage-engine.commit-to-device=false
storage-engine.commit-min-size=0
storage-engine.compression=none
storage-engine.compression-level=0
storage-engine.data-in-memory=false
storage-engine.defrag-lwm-pct=50
storage-engine.defrag-queue-min=0
storage-engine.defrag-sleep=1000
storage-engine.defrag-startup-minimum=0
storage-engine.direct-files=false
storage-engine.disable-odsync=false
storage-engine.enable-benchmarks-storage=false
storage-engine.encryption-key-file=null
storage-engine.encryption-old-key-file=null
storage-engine.filesize=2147483648
storage-engine.flush-max-ms=1000
storage-engine.max-write-cache=67108864
storage-engine.min-avail-pct=5
storage-engine.post-write-queue=256
storage-engine.read-page-cache=false
storage-engine.scheduler-mode=null
storage-engine.serialize-tomb-raider=false
storage-engine.sindex-startup-device-scan=false
storage-engine.tomb-raider-sleep=1000
storage-engine.write-block-size=8388608
sindex.num-partitions=32
geo2dsphere-within.strict=true
geo2dsphere-within.min-level=1
geo2dsphere-within.max-level=20
geo2dsphere-within.max-cells=12
geo2dsphere-within.level-mod=1
geo2dsphere-within.earth-radius-meters=6371000
Related Commands
bins | namespaces | set-config | sets

namespaces

Permission:

authenticated user

Introduced:

3.3.0

Returns a list namespaces defined on this server.

Format:

namespaces
Additional information

Output

Semicolon ';' delimited list of namespace names defined on this server

Examples

asinfo -v 'namespaces'
test;bar
Related Commands
bins | namespace | sets

node

Permission:

authenticated user

Introduced:

3.3.0

Node ID. Unique 15 character hex string for each node based on the mac address and port.

Format:

node
Additional information

Output

Returns the Node ID for this server.

Examples

asinfo -v 'node'
BB9C5014A290C00

peers-clear-alt

Permission:

authenticated user

Introduced:

3.11

Supersedes "services-alternate" for non-TLS, alternate addresses. List of alternate service addresses of peer nodes.

Format:

peers-clear-alt
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "peers-clear-alt"
9,3000,[[BB9060011AC4202,,[74.125.239.53]],[BB9070011AC4202,,[74.125.239.54]]]

peers-clear-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "services" for non-TLS, standard addresses. List of addresses of neighbor cluster nodes to advertise for Application to connect.

Format:

peers-clear-std
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "peers-clear-std"
9,3000,[[BB9040011AC4202,,[172.17.0.4]],[BB9050011AC4202,,[172.17.0.5]]]

peers-generation

Permission:

authenticated user

Introduced:

3.11

Returns the generation count of the services lists (peers-clear-std, peers-tls-std). Each node in the cluster will maintain a generation count of its services list. This value gets incremented for every change in its services list (e.g. node addition/removal).

Format:

peers-generation
Additional information

Examples

asinfo -v "peers-generation"
10
Related Commands
peers-clear-std | peers-tls-std

peers-tls-alt

Permission:

authenticated user

Introduced:

3.11

Supersedes "services-alternate" for TLS, alternate addresses. List of alternate service addresses of peer nodes.

Format:

peers-tls-alt
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "peers-tls-alt"
9,4333,[[BB9060011AC4202,clusternode,[74.125.239.53]],[BB9070011AC4202,clusternode,[74.125.239.54]]]

peers-tls-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "services" for TLS, standard addresses. List of addresses of neighbor cluster nodes to advertise for Application to connect.

Format:

peers-tls-std
Additional information

Output

Returns peers-generation, port, list of [ NodeIDs/Names, TLSName(if defined), [ List of endpoints/IPaddresses ]]

Examples

asinfo -v "peers-tls-std"
9,4333,[[BB9040011AC4202,clusternode,[172.17.0.4]],[BB9050011AC4202,clusternode,[172.17.0.5]]]

protect-roster-set

Permission:

sys-admin

Introduced:

4.3.1.4

Removed:

4.5.2

This command is to be used in very specific situations to protect from network partition events after a roster-set command removing node(s) from a roster. Certain specific roster changes followed by network partitions prior to migrations completing could lead to inconsistencies. The protect-roster-set command helps those very specific situations. The command has to be issued prior to the roster-set command and should be issued against all the nodes in the roster to be. It is important to make sure there are no network partition events between the protect-roster-set command and the subsequent recluster command.

The typical situation requiring this command consist of a rack-aware setup with 2 racks, one rack having 1 more node than the other one. Such topology helps handle a network partition between the 2 racks as follows:

  • The majority rack (if still reachable) would be fully available.
  • The minority rack would not be available, but a re-roster of the cluster to this minority rack would provide full availability. To protect against network partitions within this rack during migrations, the user of the protect-roster-set command provides protection from inconsistencies by making the partitions that have not re-replicated become unavailable.
note

To show where the protect-roster-set command may be useful, consider the following scenario:

A partition X resides in a 7 node cluster which has replication factor 2. Node A is the roster master and node B is the roster replica. Due to a network partition the cluster splits into a 2 sub-clusters of 2 and 5 nodes, node B resides in the 2 node sub-cluster.

Partition X remains available in the larger sub-cluster as that has the majority and the roster master (node A). Partition X is not available in the smaller sub-cluster. Migrations are ongoing to maintain the 2 copies mandated by the replication factor of 2. During migrations, the roster-set command is used to exclude node B and the other missing node from the roster in the majority sub-cluster.

At this point the sub-cluster has node A as the roster master with a full copy of partition X and node C as the roster replica with a partial copy of partition X. If node A leaves the sub-cluster before migrations finish, the resultant situation would be that the cluster could be left with only a partial copy of partition X. Partition X would be still be available, despite not being a full copy of the partition, as the roster replica is present in the majority sub-cluster. This very specific circumstance could lead to inconsistent data being left available within the cluster.

The protect-roster-set command prevents this by making partitions available until they are fully replicated.

The protect-roster-set command is only necessary when the roster-set has been used to change the roster to exclude a node or nodes without waiting for migrations to complete. It is not necessary in any other circumstance.

note

Version 4.5.2 will implicitly protect the roster in such situations and will remove the protect-roster-set command.


For removing a node from the roster, follow the Removing Nodes paragraph of the Manage Consistency documentation page.

Format:

protect-roster-set:namespace=<NAMESPACE>
Additional information

Output

The command has to be issued against all the nodes in the roster to be. If namespace is omitted, will be affecting all namespaces.

Examples

Admin+> asinfo -v "protect-roster-set:"
node1.aerospike.com:3000 (192.168.10.10) returned:
ok

node2.aerospike.com:3000 (192.168.10.11) returned:
ok

node3.aerospike.com:3000 (192.168.10.12) returned:
ok

node4.aerospike.com:3000 (192.168.10.13) returned:
ok

node5.aerospike.com:3000 (192.168.10.14) returned:
ok

node6.aerospike.com:3000 (192.168.10.15) returned:
ok
Related Commands
roster | roster-set | recluster

query-abort

Permission:

data-admin

Introduced:

5.7

Abort a query running on the server node.

Format:

query-abort:trid=TRANSACTIONID
Additional information

Parameters

trid
Transaction ID to identify the query to abort. This parameter is required.

Output

Returns "Ok" if the query was aborted, otherwise "Transaction Not Found".

Examples

Abort a query

asinfo -v 'query-abort:trid=1225169085971291877'
Ok
Related Commands
query-show

query-abort-all

Permission:

data-admin

Introduced:

5.7

Abort all queries running on the server node. This command kills all queries running across all the namespaces

Format:

quire-abort-all:
Additional information

Output

Returns "OK - number of queries killed: x" where x is the number of aborted queries.

Examples

Abort all queries

asinfo -v 'queries-abort-all:'
OK - number of queries killed: 7
Related Commands
query-abort | query-show

query-show

Permission:

authenticated user

Introduced:

5.7

Returns information about queries running on the server node.

Format:

query-show
query-show:trid=TRANSACTIONID
Additional information

Parameters

trid
Transaction ID to identify a particular query. If this parameter is omitted, information about every query running on the node is returned. Note that if the specified transaction ID does not match any running query, "ERROR:2

not found" is returned.

Output

Query Information
Query information includes:

  • trid - transaction ID of the query
  • job-type - type of scan, one of:
    • basic
    • aggregation
    • background-udf
    • background-ops
  • ns - name of queried namespace
  • set - name of queried set, otherwise "NULL"
  • rps - 0 (not implemented for queries)
  • active-threads - 0 (not relevant for queries)
  • status - "active"
  • job-progress - 0 (not implemented for queries)
  • run-time - how long the query has taken, in milliseconds
  • time-since-done - 0 (not implemented for queries)
  • recs-throttled - 0 (not implemented for queries)
  • recs-filtered-meta - number of records filtered out by an expression at the metadata level
  • recs-filtered-bins - number of records filtered out by an expression at the bin level
  • recs-succeeded - number of records opened by the query for evaluation
  • recs-failed - 0 (not implemented for queries)
  • net-io-bytes - amount of response data sent, in bytes
  • net-io-time - time taken to send response data, in millisends
  • socket-timeout - 0 (not relevant for queries)
  • sindex-name - name of the secondary index for the query

Examples

Get information about a query

asinfo -v 'module=query:trid=7283069042041732041' -l
trid=7283069042041732041
job-type=basic
ns=test
set=query_foreach
n-pids-requested=4096
rps=0
active-threads=0
status=done(ok)
job-progress=100.0
run-time=1
time-since-done=17023
recs-throttled=0
recs-filtered-meta=0
recs-filtered-bins=1
recs-succeeded=5
recs-failed=0
net-io-bytes=90726
net-io-time=0
socket-timeout=30000:from=127.0.0.1+57202
Related Commands
query-abort | scan-show

quiesce

Permission:

sys-admin

Introduced:

4.3.1

Cause a node to avoid participating as a replica after the next recluster event. Quiescing and reclustering before removing a node from the cluster prevents client timeouts that may otherwise happen when a node drops from the cluster. Quiescing can also help when decommissioning one or more nodes and it is desirable to maintain full replication during the decommissioning process. Refer to the Quiesce Node page for further details.
Note the command will fail if stay-quiesced is true for the node.

Format:

quiesce
Additional information

Output

On success returns OK.

Examples

Admin+> asinfo -v 'quiesce:' with 192.168.100.233
192.168.100.233:3000 (192.168.100.233) returned:
ok
Related Commands
recluster | quiesce-undo

quiesce-undo

Permission:

sys-admin

Introduced:

4.3.1

Revert the effects of the quiesce on the next recluster event.
Note the command will be ignored if stay-quiesced is true for the node.

Format:

quiesce-undo
Additional information

Output

On success returns OK.

Examples

Admin+> asinfo -v 'quiesce-undo:' with 192.168.100.233
192.168.100.233:3000 (192.168.100.233) returned:
ok
Related Commands
recluster | quiesce

racks

Permission:

authenticated user

Introduced:

3.13.0

Enterprise only feature as of version 4.0.

Returns the rack grouping of nodes for each namespace.

Format:

racks:
Additional information

Parameters

namespace
Name of the namespace to query rack grouping for.

Output

For each namespace, list the number of unique racks, each followed by the node_ids in the rack.

Examples

asinfo -v 'racks:'
ns=test:rack_1=BCD10DFA9290C00,BB910DFA9290C00:rack_2=BD710DFA9290C00,BC310DFA9290C00

recluster

Permission:

sys-admin

Introduced:

3.14.1.1

Force the cluster to advance the cluster key and rebalance. Will be processed by the acting principal node and ignored by other nodes. It is safe and recommended to simply issue the command to all the nodes in the cluster through asadm.

By using this command, certain configurations can now take effect without needing a node restart.
This is for example used when setting roster in strong consistency mode or applying rack-aware changes.

  • When issued to a cluster with no pending migrations that hasn't had any configurations changed, this command should not generate new migrations.
  • When issued to a cluster with no pending migrations that has its rack-id dynamically changed, this command would generate new migrations.
  • When issued to a cluster with ongoing migrations:
    -- Active migrations will cancel - this is useful when wanting to quickly earlier the migrate-threads configuration.
    -- New initial migrations should not be exceeding the last observed pending migrations.
note

There are known cases where the command is expected to fail. Contact Aerospike Support for details.

note

The rack-aware feature is an Aerospike Enterprise Edition Server only feature as of version 4.0.

Format:

recluster:
Additional information

Output

On success returns OK.

Examples

Admin+> asinfo -v 'recluster:'
192.168.100.233:3000 (192.168.100.233) returned:
ok
192.168.100.215:3000 (192.168.100.215) returned:
ignored-by-non-principal

revive

Permission:

sys-admin

Introduced:

4.0

Used to revive dead partitions in a namespace running in strong consistency mode. Should be followed by the recluster command in order to take effect. Revived nodes restore availability only when all nodes are trusted.

Format:

revive:namespace=<NAMESPACE>
Additional information

Output

On success returns OK.

Examples

Admin+> asinfo -v 'revive:namespace=test'
192.168.100.233:3000 (192.168.100.233) returned:
ok
192.168.100.215:3000 (192.168.100.215) returned:
ok
Related Commands
recluster

roster

Permission:

authenticated user

Introduced:

4.0

Show roster information (for namespaces running in strong consistency mode).

Format:

roster:namespace=<NAMESPACE>
Additional information

Output

Returns the list of node currently in the roster.

Examples

Admin+> asinfo -v "roster:namespace=test"
node1.aerospike.com:3000 (192.168.10.10) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202

node2.aerospike.com:3000 (192.168.10.11) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202

node3.aerospike.com:3000 (192.168.10.12) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202

node4.aerospike.com:3000 (192.168.10.13) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202

node5.aerospike.com:3000 (192.168.10.14) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202

node6.aerospike.com:3000 (192.168.10.15) returned:
roster=null:pending_roster=null:observed_nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,BB9040016AE4202,BB9020016AE4202
Related Commands
roster-set

roster-set

Permission:

sys-admin

Introduced:

4.0

Set the roster (for namespaces running in strong consistency mode). Requires 'recluster' to take effect.

For removing a node from the roster, follow the Removing Nodes paragraph of the Manage Consistency documentation page.

Format:

roster-set:namespace=<NAMESPACE>;nodes=<observed nodes list>
Additional information

Output

Set the roster for the namespace. It is safe to issue this command multiple times, once for each observed node, or create a list, but issuing it for against one node is enough (will be propagated through smd). The roster is not active until the recluster command is issued. Validate the roster prior to issuing the recluster command by running the roster command and verifying all desired roster nodes are in the pending_roster list.

Examples

Admin+> asinfo -v "roster-set:namespace=test;nodes=BB9070016AE4202,BB9060016AE4202,BB9050016AE4202,
BB9040016AE4202,BB9020016AE4202" with BB9020016AE4202
node1.aerospike.com:3000 (192.168.10.10) returned:
ok

node2.aerospike.com:3000 (192.168.10.11) returned:
ok

node3.aerospike.com:3000 (192.168.10.12) returned:
ok

node4.aerospike.com:3000 (192.168.10.13) returned:
ok

node5.aerospike.com:3000 (192.168.10.14) returned:
ok

node6.aerospike.com:3000 (192.168.10.15) returned:
ok
Related Commands
roster | recluster

scan-abort

Permission:

data-admin

Introduced:

3.3

Abort a scan running on the server node. This info command is deprecated as of the server version 6.0.0, use the'query-abort' instead.

Format:

scan-abort:id=TRANSACTIONID
Additional information

Parameters

id
Transaction ID to identify the scan to abort. This parameter is required.

Output

Returns "OK" if the scan was aborted, otherwise a "Transaction Not Found" error.

Examples

Abort a scan

asinfo -v 'scan-abort:trid=1225169085971291877'
OK
Related Commands
scan-abort-all | scan-show

scan-abort-all

Permission:

data-admin

Introduced:

3.5.12

Abort all scans running on the server node. This info command is deprecated as of the server version 6.0.0, use the 'query-abort-all' instead. This command kills all scans running across all the namespaces

Format:

scan-abort-all:
Additional information

Output

Returns "OK - number of scans killed: x" where x is the number of aborted scans.

Examples

Abort all scans

asinfo -v 'scan-abort-all:'
OK - number of scans killed: 7
Related Commands
scan-abort | scan-show

scan-show

Permission:

authenticated user

Introduced:

5.7

Returns information about current/recent scans on the server node. This info command is deprecated as of the server version 6.0.0, use 'query-show' instead.

Format:

scan-show
scan-show:trid=TRANSACTIONID
Additional information

Parameters

trid
Transaction ID to specify a particular scan. If this parameter is omitted, information is returned about every running scan, as well as all completed scans, up to the limit specified by scan-max-done

Output

Scan Information
Scan information includes:

  • trid - transaction ID of the scan
  • job-type - type of scan, one of:
    • basic
    • aggregation
    • background-udf
    • background-ops
  • ns - name of scanned namespace
  • set - name of scanned set (only appears if scan specifies a set)
  • n-pids-requested - number of partitions requested for the scan (only appears if nonzero)
  • rps - scan rate (records per second) requested for the scan
  • active-threads - number of threads currently processing the scan
  • status - scan status, one of:
    • active(ok) - in progress
    • done(ok) - completed successfully
    • done(user-aborted) - aborted by user
    • done(abandoned-unknown) - abandoned with unknown failure
    • done(abandoned-response-error) - aborted due to error responding to client
    • done(abandoned-response-timeout) - aborted due to timeout responding to client
  • job-progress - estimated scan completion percentage
  • run-time - how long the scan has taken (or how long it took), in milliseconds
  • time-since-done - how long ago the scan finished, in milliseconds
  • recs-throttled - number of records examined by the scan for throttling purposes
  • recs-filtered-meta - number of records filtered out by an expression at the metadata level
  • recs-filtered-bins - number of records filtered out by an expression at the bin level
  • recs-succeeded - number of records successfully processed by the scan
  • recs-failed - number of records that failed processing (e.g. unreadable)
  • net-io-bytes - amount of response data sent, in bytes
  • net-io-time - time taken to send response data, in milliseconds
  • socket-timeout - socket timeout for the scan, in milliseconds
  • from - source of the scan request, in ip-address+port format
  • udf-filename - name of the UDF source file (background-udf scans only)
  • udf-function - name of the UDF function (background-udf scans only)
  • udf-active - number of active UDF transactions (background-udf scans only)
  • ops-active - number of active background ops transactions (background-ops scans only)

Examples

Get information about all scans

asinfo -v 'scan-show' -l
module=query:trid=7283069042041732041:job-type=basic:ns=test:set=query_foreach:n-pids-requested=4096:\
rps=0:active-threads=0:status=done(ok):job-progress=100.00:run-time=1:time-since-done=17023:recs-throttled=0:\
recs-filtered-meta=0:recs-filtered-bins=1:recs-succeeded=5:recs-failed=0:net-io-bytes=90726:net-io-time=0:\
socket-timeout=30000:from=127.0.0.1+57202

Get information about one scan

asinfo -v 'scan-show:trid=2389620674112568291' -l
trid=2389620674112568291
job-type=basic
ns=test
set=sb_test5
priority=0
n-pids-requested=4096
rps=0
active-threads=0
status=done(ok)
job-progress=100.00
run-time=48
time-since-done=23231
recs-throttled=50
recs-filtered-meta=0
recs-filtered-bins=40
recs-succeeded=10
recs-failed=0
net-io-bytes=157488
socket-timeout=30000
from=127.0.0.1+50458

service

Permission:

authenticated user

Introduced:

3.3.0

IP address and server port for this node, expected to be a single address/port per node, may be multiple address if this node is configured to listen on multiple interfaces (typically not advised).

Format:

service
Additional information

Output

Returns a list of IP

to be advertised to other cluster nodes. Typically considered a configuration issue if the list contains more than one IP.

Examples

asinfo -v 'service'
172.16.121.138:3000

service-clear-alt

Permission:

authenticated user

Introduced:

3.11

Supersedes "service" info command. The alternate address and port for this node's non-TLS client service.

Format:

service-clear-alt
Additional information

Examples

asinfo -v "service-clear-alt"
74.125.239.52:3000

service-clear-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "service" info command. The address and port for this node's non-TLS client service.

Format:

service-clear-std
Additional information

Examples

asinfo -v 'service-clear-std'
172.17.0.3:3000

service-tls-alt

Permission:

authenticated user

Introduced:

3.11

Supersedes "service" info command. The alternate address and port for this node's TLS client service.

Format:

service-tls-alt
Additional information

Examples

asinfo -v "service-tls-alt"
74.125.239.52:4333

service-tls-std

Permission:

authenticated user

Introduced:

3.11

Supersedes "service" info command. The address and port for this node's TLS client service.

Format:

service-tls-std
Additional information

Examples

asinfo -v "service-tls-std"
172.17.0.3:4333

services

Permission:

authenticated user

Introduced:

3.3.0

List of addresses of neighbor cluster nodes to advertise for Application to connect.

Format:

services
Additional information

Output

Returns a list of neighboring IP

that are considered Alive by this server.

Examples

asinfo -v 'services'
192.168.120.145:3000;192.168.120.144:3000;192.168.120.143:3000

services-alternate

Permission:

authenticated user

Introduced:

3.7.1

List of alternate service addresses of peer nodes.

Format:

services-alternate
Additional information

Output

Returns a list of alternate neighboring IP

that are considered alive by this server and configured as alternate-access-address in the service stanza.

Examples

asinfo -v 'services-alternate'
192.168.120.145:3000;192.168.120.144:3000;192.168.120.143:3000;192.168.120.142:3000

services-alumni

Permission:

authenticated user

Introduced:

3.3.0

All neighbor addresses (services) this server has ever known about. Some diagnostic tools, eg. asadm, use alumni to enable full cluster view even during cluster disruptions.

Format:

services-alumni
Additional information

Output

Returns a list of all neighboring IP

this node has ever known, including neighbor nodes this server believes to be Dead.

Examples

asinfo -v 'services-alumni'
192.168.120.145:3000;192.168.120.144:3000;192.168.120.143:3000;192.168.120.142:3000

services-alumni-reset

Permission:

authenticated user

Introduced:

3.6.2

Resets the neighbor addresses (services) the server should know about. Some diagnostic tools, eg. asadm, use alumni to enable full cluster view even during cluster disruptions. This command will be useful if the alumni's list includes servers which have been decommissioned.

Format:

services-alumni-reset
Additional information

Output

Returns OK after the refresh is completed.

Examples

asinfo -v 'services-alumni-reset'
Ok
Related Commands
service | services | services-alumni

set-config

Permission:

sys-admin

Introduced:

3.3.0

Set a configuration parameter at run time, configuration parameter must be dynamic.

Format:

set-config:context=<CONTEXT>;<PARAM=VALUE>
set-config:context=namespace;id=<NAMESPACE>;<PARAM=VALUE>
Additional information

Parameters

context
Configuration context of where the parameter resides in the configuration file.
Options:

  • namespace
  • network
  • service
  • xdr For versions prior to 3.9.1, the network context actually can also have a subcontext: network.heartbeat.

id
Used for namespace contexts only. The name of the namespace where the configuration parameter resides.

Output

Upon success command returns "ok"

Examples

For Aerospike Server version 5.0+ XDR, define a remote datacenter.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
action=create"

For Aerospike Server version 5.0+ XDR, delete a remote datacenter.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
action=delete"

For Aerospike Server version 5.0+ XDR, add a namespace.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
namespace=test;action=add"

For Aerospike Server version 5.0+ XDR, remove a namespace.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
namespace=test;action=remove"

For Aerospike Server version 5.0+ XDR, add or remove a node IP address/port combination to a remote datacenter.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
node-address-port=10.0.0.1:3000;action=add"

For Aerospike Server version 5.0+ XDR, set configuration for a namespace.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
namespace=test;ship-only-specified-sets=true;ship-set=set1"

For Aerospike Server version 5.0+ XDR, rewind the shipment of records back a specific number of seconds with rewind=numberOfSeconds.

For small datasets, you can restart the shipment entirely from the beginning with rewind=all.
For large datasets, be careful with starting a complete rewind.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
namespace=test;action=add;rewind=600"

For Aerospike Server version 5.0+ XDR, set an auth-user who has read/write privileges on the remote datacenter. The auth-user parameter must be accompanied by the auth-password-file parameter and should be set only when the datacenter is not connected; otherwise, login at the remote datacenter will continually fail.

asinfo -h localhost -v "set-config:context=xdr;dc=aerospike_b;\
namespace=test;auth-user=someUser;auth-password-file=/private/security-credentials_DC1.txt"

Set heartbeat.timeout to 10 for network context (for versions 3.9.1 and later)

asinfo -v 'set-config:context=network;heartbeat.timeout=10'
ok

Set heartbeat timeout to 10 for network context (for versions prior to 3.9)

asinfo -v 'set-config:context=network.heartbeat;timeout=10'
ok
Related Commands
get-config | namespace

sets

Permission:

authenticated user

Introduced:

3.3.0

Returns set statistics for all or a particular set. As of Aerospike version 3.6.1, this also includes in-memory size of a set (if data-in-memory). Returns data for individual node unless run via asadm.

Format:

sets
sets/NAMESPACE
sets/NAMESPACE/SET
Additional information

Parameters

NAMESPACE
Namespace name to query set statistics from.

SET
Set name to query set statistics from.

Output

  • ns - namespace name
  • set - set name
  • objects - master and prole objects count.
  • tombstones - master and prole tombstones count.
  • memory_data_bytes - memory used by data (master and proles), excluding primary index.
  • device_data_bytes (version 5.2+) - device storage used by data (master and proles), excluding primary index.
  • truncate_lut - The lut (last updated time) in milliseconds since the Citrusleaf epoch (00:00:00 UTC on 1 Jan 2010).
  • **stop-writes-count - value configured in **set-stop-writes-count.
  • **set-enable-xdr - value configured in **set-enable-xdr.
  • **disable-eviction - value configured in **set-disable-eviction.

Examples

Query set stats from all namespaces

asinfo -v 'sets' -l
ns=test:set=demo:objects=12345:tombstones=0:memory_data_bytes=851805:device_data_bytes=852400:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false
ns=bar:set=demo:objects=1:tombstones=0:memory_data_bytes=0:device_data_bytes=40:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false
ns=bar:set=demo2:objects=123456:tombstones=0:memory_data_bytes=0:device_data_bytes=7215460:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false

Query set stats from namespace 'bar'

asinfo -v 'sets/bar' -l
ns=bar:set=demo:objects=1:tombstones=0:memory_data_bytes=0:device_data_bytes=40:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false
ns=bar:set=demo2:objects=123456:tombstones=0:memory_data_bytes=0:device_data_bytes=7215460:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false

Query set stats from 'demo' set in namespace 'bar'

asinfo -v 'sets/bar/demo' -l
objects=1:tombstones=0:memory_data_bytes=0:device_data_bytes=40:truncate_lut=0:stop-writes-count=0:\
set-enable-xdr=use-default:disable-eviction=false;

Deleting objects from set 'demo' in namespace 'bar'

asinfo -v 'truncate:namespace=bar;set=demo;'
ok

Disabling evictions for a set 'demo' in a namespace 'bar'

asinfo -v 'set-config:context=namespace;id=bar;set=demo;set-disable-eviction=true;'
ok
Related Commands
bins | namespace | namespaces | statistics

sindex

Permission:

authenticated user

Introduced:

3.3.0

Returns a list of secondary indexes defined on Aerospike and their state.

Format:

sindex[/NAMESPACE[/SINDEX]]
Additional information

Parameters

NAMESPACE
Name of the namespace to query for secondary indexes.

SINDEX
Name of the secondary index to query statistics from.

Output

Secondary Index List
Semicolon ';' delimited list of colon ':' delimited general statistics for Secondary Indexes.

Secondary Index Statistics
Semicolon ';' delimited list of detailed statistics for a particular Secondary Index.

Examples

Query All Secondary Indexes

asinfo -v 'sindex'
ns=test:set=demo:indexname=str_idx:bin=str_bin:type=STRING:indextype=DEFAULT:path=str_bin:state=RW \
ns=test:set=demo:indexname=str_uniq_idx:bin=str_uniq_bin:type=STRING:indextype=DEFAULT:path=str_uniq_bin:state=RW \
ns=test:set=demo:indexname=int_uniq_idx:bin=int_uniq_bin:type=NUMERIC:indextype=DEFAULT:path=int_uniq_bin:state=RW

Query All Secondary Indexes for a Namespace

asinfo -v 'sindex/test'
ns=test:set=demo:indexname=str_idx:bin=str_bin:type=STRING:indextype=DEFAULT:path=str_bin:state=RW \
ns=test:set=demo:indexname=str_uniq_idx:bin=str_uniq_bin:type=STRING:indextype=DEFAULT:path=str_uniq_bin:state=RW \
ns=test:set=demo:indexname=int_uniq_idx:bin=int_uniq_bin:type=NUMERIC:indextype=DEFAULT:path=int_uniq_bin:state=RW

Query Statistics for a Particular Secondary Index

asinfo -v 'sindex/test/str_idx'
keys=9;entries=9000;ibtr_memory_used=18688;nbtr_memory_used=162009; \
load_pct=100;loadtime=6;write_success=10000;write_error=0; \
delete_success=1000;delete_error=0;stat_gc_recs=0; \
query_basic_complete=170;query_basic_error=0;query_basic_abort=0;query_basic_avg_rec_count=1000;histogram=false

sindex-create

Permission:

data-admin

Introduced:

3.3.0

Create a secondary index.

Format:

sindex-create:ns=NAMESPACE;[set=SET];indexname=INDEX_NAME;indexdata=BIN_NAME,BIN_TYPE
Additional information

Parameters

ns
Name of the Namespace to create a Secondary Index on.

set
(Optional) Name of a Set in the provided Namespace to create a Secondary Index on.

indexname
Canonical name for the newly created Secondary Index.
Name should be 20 characters or less.
Colon ':' or semicolon ';' not allowed in index name.

indexdata
Tuple of the form BIN_NAME,BIN_TYPE.
BIN_NAME is the name of the bin to create a Secondary Index on
BIN_TYPE is the Bin type for the provided BIN_NAME. A BIN_TYPE can be NUMERIC, STRING, or GEO2DSPHERE

indextype
Specifies how the secondary index is to collect keys: basic: Specifies to treat the value of the bin as a key.
list: Specifies to use the elements of a list as keys.
mapkeys: Specifies to use the keys of a map as keys.
mapvalues: Specifies to use the values of a map as keys.

Output

On success returns "ok", otherwise returns an error message. On failure returns an error message.

Examples

Create a Secondary Index

asinfo -v 'sindex-create:ns=test;set=demo;indexname=demo-index;indexdata=bin,string'
ok

sindex-delete

Permission:

data-admin

Introduced:

3.3.0

Delete a secondary index.

Format:

sindex-delete:ns=NAMESPACE[;set=SET];indexname=INDEX_NAME
Additional information

Parameters

ns
Namespace name where the target Secondary Index resides.

set
(optional) Name of the Set where the target Secondary Index resides.

indexname
Name of the Secondary Index to delete.

Output

On success returns "ok", otherwise returns an error message.

Examples

Delete a Secondary Index

asinfo -v 'sindex-delete:ns=test;indexname=demo-index'
ok

sindex-histogram

Permission:

sys-admin

Introduced:

3.3.0

Removed:

6.0.0

Enables query histograms to be printed in system logs of the target server

Format:

sindex-histogram:ns=NAMESPACE;[set=SET];indexname=INDEX;enable=ENABLE
Additional information

Parameters

ns
Namespace name where the target Secondary Index resides.

set
(optional) Name of the Set where the target Secondary Index resides.

indexname
Name of the index to enable/disable histograms for.

enable
Can be either true or false.
If true histograms will be enabled for the provided index name.
If false histograms will be disabled for the provided index name.

Output

On success returns "ok", otherwise returns an error message.

Examples

Enable Query Histograms to be Printed to the Logs

asinfo -v 'sindex-histogram:ns=test;set=demo;indexname=demo-index;enable=true'
ok

Disable Query Histograms to be Printed to the Logs

asinfo -v 'sindex-histogram:ns=test;set=demo;indexname=demo-index;enable=false'
ok
Related Commands
sindex | sindex-create | sindex-delete

statistics

Permission:

authenticated user

Introduced:

3.3.0

Returns system health and usage stats for this server. Adding /xdr will return the xdr statistics subset for server 3.8 and later. Use option -l for pretty print.

Format:

statistics
statistics/xdr
Additional information

Output

A semicolon ";" delimited list of system health and usage statistics of form "METRIC

". Use of -l option will break up statistics on individual lines.

Examples

Version 5.7.0 and later

asinfo -v 'statistics' -l
failed_best_practices=true
cluster_size=1
cluster_key=F6F7CE8A5621
cluster_generation=1
cluster_principal=BB937664A290C00
cluster_min_compatibility_id=10
cluster_max_compatibility_id=10
cluster_integrity=true
cluster_is_member=true
cluster_duplicate_nodes=null
cluster_clock_skew_stop_writes_sec=0
cluster_clock_skew_ms=0
cluster_clock_skew_outliers=null
uptime=2167
system_total_cpu_pct=8
system_user_cpu_pct=5
system_kernel_cpu_pct=3
system_free_mem_kbytes=5930052
system_free_mem_pct=48
system_thp_mem_kbytes=0
process_cpu_pct=1
threads_joinable=8
threads_detached=65
threads_pool_total=46
threads_pool_active=46
heap_allocated_kbytes=127219
heap_active_kbytes=129288
heap_mapped_kbytes=251904
heap_efficiency_pct=51
heap_site_count=0
objects=9009
tombstones=0
info_queue=0
rw_in_progress=0
proxy_in_progress=0
tree_gc_queue=0
client_connections=2
client_connections_opened=14398
client_connections_closed=14396
heartbeat_connections=0
heartbeat_connections_opened=0
heartbeat_connections_closed=0
fabric_connections=0
fabric_connections_opened=0
fabric_connections_closed=0
heartbeat_received_self=14375
heartbeat_received_foreign=0
reaped_fds=0
info_complete=3228
demarshal_error=0
early_tsvc_client_error=73
early_tsvc_from_proxy_error=0
early_tsvc_batch_sub_error=0
early_tsvc_from_proxy_batch_sub_error=0
early_tsvc_udf_sub_error=0
early_tsvc_ops_sub_error=0
batch_index_initiate=0
batch_index_queue=0:0,0:0,0:0,0:0
batch_index_complete=0
batch_index_error=0
batch_index_timeout=0
batch_index_delay=0
batch_index_unused_buffers=0
batch_index_huge_buffers=0
batch_index_created_buffers=0
batch_index_destroyed_buffers=0
batch_index_proto_uncompressed_pct=0.000
batch_index_proto_compression_ratio=1.000
scans_active=0
query_short_running=0
query_long_running=0
paxos_principal=BB937664A290C00
time_since_rebalance=2165
migrate_allowed=true
migrate_partitions_remaining=0
fabric_bulk_send_rate=0
fabric_bulk_recv_rate=0
fabric_ctrl_send_rate=0
fabric_ctrl_recv_rate=0
fabric_meta_send_rate=0
fabric_meta_recv_rate=0
fabric_rw_send_rate=0
fabric_rw_recv_rate=0
Related Commands
bins | namespace | sets

status

Permission:

authenticated user

Introduced:

3.3.0

Always returns ok, used to verify service port is open. Useful when using telnet. In asinfo simply leave off the value '-v' argument.

Format:

status
Additional information

Output

If server is up, will always return 'ok'

thread-traces

Permission:

authenticated user

Introduced:

4.5.3

Returns the current call stack for all server threads.

Format:

thread-traces
Additional information

Output

For each server thread, returns its ID (the first number on the dashed line), the offset of its run function (in parentheses on the dashed line), and its current call stack.
Note that since there are typically over 100 server threads, this command can generate a large amount of output.

Examples

Sample output (for one thread only)

asinfo -v 'thread-traces' -l
---------- 45387 (0x12914f) ----------
/usr/bin/asd(cf_thread_traces_action+0x4c) [0x67807c]
/lib64/libpthread.so.0() [0x384720f710]
/lib64/libc.so.6(nanosleep+0x2d) [0x3846eaca3d]
/lib64/libc.so.6(usleep+0x34) [0x3846ee1be4]
/usr/bin/asd(hb_adjacency_tender+0x275) [0x5293c4]
/usr/bin/asd() [0x678379]
/lib64/libpthread.so.0() [0x38472079d1]
/lib64/libc.so.6(clone+0x6d) [0x3846ee88fd]

throughput

Permission:

authenticated user

Introduced:

3.9

Removed:

5.1

Returns throughput info.

Format:

throughput:[hist=HISTOGRAM;][back=BACK;][duration=DURATION;][slice=SLICE]
Additional information

Parameters

hist
Histogram name - if none is provided, command applies to all namespace tracked histograms, which are the read, write, udf and query histograms'.
[Default: all namespace tracked histograms]
Options (ns being the namespace name):

  • {ns}-read
  • {ns}-write
  • {ns}-udf
  • {ns}-query
  • batch-index
    To know more about histograms, see Monitoring latencies.
note

Note that the histograms naming convention has changed in server 3.9 and later. For details on version prior to server 3.9, see Monitoring latencies pre-3.9.

back
Start search this many seconds before now.
[Default: Minimum to get last slice.]
Note: Using back=0 will query starting from oldest cache.

duration
seconds (forward) from start to search.
[Default: 0, everything to present]

slice
Intervals (in seconds) to analyze.
[Default: 0, everything as one slice]

Output

Return value is in the following format: HISTOGRAM_0:TIME_START,ops/sec,THRESHHOLD_0,THRESHHOLD_1,...;HISTOGRAM_1:...

Examples

Show All throughput Histograms

asinfo -v 'throughput:'
{ns}-read:23:56:38-GMT,ops/sec;23:56:48,0.0;{ns}-write:23:56:38-GMT,ops/sec;23:56:48,0.0;
error-no-data-yet-or-back-too-small;error-no-data-yet-or-back-too-small

Show Read throughput Histogram

asinfo -v 'throughput:hist={ns}-read;slice=30;back=300;duration:120'
{ns}-read:23:51:28-GMT,ops/sec;23:51:58,0.0;23:52:28,0.0;23:52:58,0.0;
23:53:28,0.0;23:53:58,0.0;23:54:28,0.0;23:54:58,0.0;23:55:28,0.0;23:55:58,0.0

tip

Permission:

sys-admin

Introduced:

3.3.0

Add hostname to seed list for mesh-mode heartbeats.

Format:

tip:host=HOST;port=MESH-PORT
Additional information

Parameters

host
Hostname of an Aerospike server to join this cluster. Note that server version 3.9.0.3 and prior honor only IP address as the input host.

port
Mesh port of an Aerospike server to join this cluster.

Output

As of version 3.15, the command generates descriptive messages on success as well as a failure. For prior versions, this command does not acknowledge success or failure, though on failure message are printed to the target node's log.

Examples

Adding a Host to the Cluster

asinfo -v 'tip:host=172.16.121.138;port=3002'
asinfo -h prod_aerospike_1 -v "tip:host=prod_aerospike_2;port=3002"
Related Commands
mesh | tip-clear

tip-clear

Permission:

sys-admin

Introduced:

3.3.0

Clear configured hostname(s) from seed list for mesh-mode heartbeats. Configured hostname(s) means the hostname(s) from config file or added via the tip command. Useful in the case of repurposing a node from a live cluster.

Format:

tip-clear:host-port-list=Node1:3002,Node2:3002,...
Additional information

Parameters

host-port-list
Configured hostname(s) and port(s) of Aerospike seeds that need to be removed from the seed list. This setting will clear the dynamic list of hostnames loaded from mesh-seed-address-port or via the tip command.

  • As of version 5.3, it will only support configured hostname(s).
  • As of version 5.3, it will not support the value 'all'.
  • From version 3.9.X to 5.2.X, it also honors IP addresses of active nodes (seed or non-seed).
  • As of version 3.10, when specifying 'all', both seed nodes and discovered nodes will be cleared.
  • As of version 3.9.1, the parameter host-port-list is always required (even for specifying 'all').
  • Prior to 3.9.0.3, it honors only IP address as input.

Output

As of version 3.15, the command generates descriptive messages on success as well as a failure. For prior versions, this command does not acknowledge success or failure, though on failure message may get printed on the server logs.

Examples

Clear configured hostname(s) from seed list

asinfo -v 'tip-clear:host-port-list=172.17.0.15:3002'
asinfo -v 'tip-clear:host-port-list=prod_aerospike_2:3002'
Related Commands
mesh | tip

truncate

Permission:

data-admin or write or truncate

Introduced:

3.12

The truncate command only truncates sets, so the 'set' parameter is required. To truncate an entire namespace, use the truncate-namespace command.

Available in server 3.12.0 and later. Write permission only for versions 5.1 through 5.7. Truncate permission only for server 6.0 and later.

Best practice: When you truncate a whole set, first remove any secondary indexes from the set and recreate them after the truncate command has completed.

Deletes every record in the given set whose last update time ("lut") is older than the given time. The deletes are durable and preserve record deletions in the Enterprise Edition only. Has to be issued on one node in a cluster. The command is distributed to other nodes via system metadata (SMD).

You need either the write permission (server 5.1 - 5.7) or the truncate permission (server 6.0 and later) or the data-admin permission:

  • For write and truncate privileges limited to running truncate-related commands only for namespaces (scoped for namespaces), the truncation to be undone requires that the namespace exists on the node where the command is issued. If the write privilege is global (not limited to namespaces), the command can be issued on any node in the cluster.
  • For the data-admin privilege, the truncation to be undone does not require that the namespace exist on the node where the command is issued.

Secondary index entries are also cleaned up as part of a truncate command as of version 3.12.1 but it is recommended to first remove any secondary index associated with the set if possible.

caution

The "set" parameter is required for server 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 and later. For other versions, use with extreme caution because a typo in the command can result in ignoring the set parameter and truncating the whole namespace. The aql TRUNCATE command may also be used and would be safer for versions prior to server 4.5.0.5 (and earlier 4.5.0.X), 4.4.0.10 (and earlier 4.4.0.X), and 4.3.1.10 (and earlier 4.3.1.X).:::

note

If using the client APIs to perform the truncate command there is a precision of accuracy to 1 millisecond(ms) resolution.

Format:

truncate:namespace=<namespace name>;set=<set name>;lut=<time>
Additional information

Parameters

namespace
Required - Name of the namespace to be truncated.

set
Optional - Name of the set to be truncated. If not specified, the whole namespace will be truncated, including records not belonging to any sets.

The "set" parameter is required, as the truncate command is only used for truncating sets, for Aerospike Server versions 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 and later. To truncate an entire namespace in these newer versions, use the truncate-namespace command.

lut
Optional - Last update time. If not specified, the current time is used. The lut time is expressed in nanoseconds (8 bytes) since the Unix epoch (i.e., nanoseconds since 00:00:00 UTC on 1 Jan 1970). It can be given in hex (with a 0x prefix), decimal, or octal (with a 0 prefix). The lut time is not allowed to be older than the Citrusleaf epoch (00:00:00 UTC on 1 Jan 2010), and is not allowed to be beyond the current time (i.e. in the future). Some older versions allowed specifying "lut=now" to mean the current time, but this is no longer supported as of version 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 onward.

Output

ok

Examples

Truncate a namespace or a set

asinfo -v 'truncate:namespace=test;lut=now;'
asinfo -v 'truncate:namespace=test;set=set1;lut=now;'
asinfo -v 'truncate:namespace=test;set=set1;'

truncate-namespace

Permission:

data-admin or write or truncate

Introduced:

4.3.1.11, 4.4.0.11, 4.5.0.6, 4.5.1.5

Available in Aerospike Server 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 and later. Write permission only for server 5.1 through 5.7. Truncate permission only for server 6.0 and later.

Best practice: When you truncate the whole namespace, first remove its secondary indexes and recreate them after the truncate command has competed.

Deletes every record in the given namespace whose last update time ("lut") is older than the given time. The deletes are durable and preserve record deletions in the Enterprise Edition only. Secondary index entries are also cleaned up as part of a truncate-namespace command.

You need either the write permission in server 5.1 - 5.7, or the truncate permission in server 6.0 and later, or the data-admin permission:

  • For write or truncate privileges limited to running truncate-related commands for namespaces (scoped for namespaces), the namespace to be truncated must exist on the node where the command is issued. If the write privilege is global - not limited to namespaces - the command can be issued on any node in the cluster.
  • For the data-admin privilege, the namespace to be truncated does not have to exist on the node where the command is issued.

    The command is distributed to other nodes via system metadata (SMD):
note

If using the client APIs to perform the truncate command there is a precision of accuracy to 1 ms resolution.

Format:

truncate-namespace:namespace=<namespace name>;lut=<time>
Additional information

Parameters

namespace
Required - Name of the namespace to be truncated.

lut
Optional - Last update time. If not specified, the current time is used. The lut time is expressed in nanoseconds (8 bytes) since the Unix epoch (i.e., nanoseconds since 00:00:00 UTC on 1 Jan 1970). It can be given in hex (with a 0x prefix), decimal, or octal (with a 0 prefix). The lut time is not allowed to be older than the Citrusleaf epoch (00:00:00 UTC on 1 Jan 2010), and is not allowed to be beyond the current time (i.e. in the future).

Output

ok

Examples

Truncate a namespace

asinfo -v 'truncate-namespace:namespace=test;'

truncate-namespace-undo

Permission:

data-admin or write or truncate

Introduced:

4.3.1.11, 4.4.0.11, 4.5.0.6, 4.5.1.5

Available in Aerospike Server 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 and later. Write permission only for Server 5.1 through 5.7. Truncate permission only for Server 6.0 and later.

Undo a truncate-namespace command by removing the associated SMD (System Meta Data) files entry and allow (some) previously truncated records to be resurrected on the subsequent cold restart (only for records that have not had their persisted storage block overwritten by other records).

You need either the write permission (Server 5.1 - 5.7) or the truncate permission (Server 6.0+) or the data-admin permission:

  • For write or truncate privileges limited to running truncate-related commands only for namespaces (scoped for namespaces), the truncation to be undone requires that the namespace exist on the node where the command is issued. If the write privilege is global (not limited to namespaces), the command can be issued on any node in the cluster.
  • For the data-admin privilege, the truncation to be undone does not require that the namespace exist on the node where the command is issued.

Format:

truncate-namespace-undo:namespace=<namespace name>;
Additional information

Parameters

namespace
Required - Name of the namespace to run the undo truncate-namespace command against. Will remove namespace level truncate entry in SMD (which persists - tombstone like - the truncate time).

Output

ok

Examples

Remove truncate entry in SMD for a namespace

asinfo -v 'truncate-namespace-undo:namespace=test;'

truncate-undo

Permission:

data-admin or write or truncate

Introduced:

3.12

Available in Aerospike Server 3.12.0 and later. Write permission only for Server 5.1 through 5.7. Truncate permission only for Server 6.0 and later.

Undo a truncate command by removing the associated SMD (System Meta Data) files entry and allow (some) previously truncated records to be resurrected on the subsequent cold restart (only for records that have not had their persisted storage block overwritten by other records).

You need either the write permission (Server 5.1 - 5.7) or the truncate permission (Server 6.0+) or the data-admin permission:

  • For write or truncate privileges limited to running truncate-related commands only for namespaces (scoped for namespaces), the truncation to be undone requires that the namespace exist on the node where the command is issued. If the write privilege is global (not limited to namespaces), the command can be issued on any node in the cluster.
  • For the data-admin privilege, the truncation to be undone does not require that the namespace exist on the node where the command is issued.

Format:

truncate-undo:namespace=<namespace name>;set=<set name>;
Additional information

Parameters

namespace
Required - Name of the namespace to run the undo truncate command against. Will only remove namespace level truncate entry in SMD (which persists - tombstone like - the truncate time) if set is not specified.

set
Optional - Name of the set to run the undo truncate command against. If not specified, only namespace level truncate entries in the SMD files will be removed and set specific ones (if any) will remain.

The "set" parameter is required for Aerospike Server versions 4.3.1.11 (and later 4.3.1.X), 4.4.0.11 (and later 4.4.0.X), 4.5.0.6 (and later 4.5.0.X) and 4.5.1.5 and later.

Output

ok

Examples

Remove truncate entry in SMD for a namespace or a set

asinfo -v 'truncate-undo:namespace=test;'
asinfo -v 'truncate-undo:namespace=test;set=set1;'

udf-get

Permission:

authenticated user

Introduced:

3.3.0

Get the content of a registered UDF from the node.

Format:

udf-get
Additional information

Parameters

filename
The filename of the registered UDF to get.

Output

Get the content of a registered UDF from the local node. Content will be encoded in base 64.

Examples

asinfo -v 'udf-get:filename=basic_udf.lua'type=LUA;content=LS0gQSB2ZXJ5IHNpbXBsZSBhcml0aG1ldGljIFVER\
iB3aXRoIG5vIGFyZ3VtZW50cyBvciByZXR1cm4gdmFsdWUuCi0tIEl0IGFkZHMgMTAwMCB0byB0aGUgdmFsdWUgaW4g\
YmluICd0ZXN0LWJpbi0xJyBhbmQgdXBkYXRlcyBpdC4KZnVuY3Rpb24gdGVzdF9iaW5fMV9hZGRfMTAwMChyZWMpCgl\
yZWNbJ3Rlc3QtYmluLTEnXSA9IHJlY1sndGVzdC1iaW4tMSddICsgMTAwMAoJYWVyb3NwaWtlOnVwZGF0ZShyZWMpCm\
VuZAoKLS0gQSBzaW1wbGUgYXJpdGhtZXRpYyBVREYgdGhhdCBoYXMgYXJndW1lbnRzIGFuZCBhIHJldHVybiB2YWx1Z\
S4KLS0gSXQgdXBkYXRlcyB0aGUgdmFsdWUgaW4gdGhlIHNwZWNpZmllZCBiaW4gYWZ0ZXIgcGVyZm9ybWluZyB0aGUg\
YXJpdGhtZXRpYwotLSBvcGVyYXRpb24sIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcgYmluIHZhbHVlLgpmdW5jdGl\
vbiBiaW5fdHJhbnNmb3JtKHJlYywgYmluX25hbWUsIHgsIHkpCglyZWNbYmluX25hbWVdID0gKHJlY1tiaW5fbmFtZV\
0gKiB4KSArIHkKCWFlcm9zcGlrZTp1cGRhdGUocmVjKQoJcmV0dXJuIHJlY1tiaW5fbmFtZV0KZW5kCgo=;
Related Commands
udf-list | udf-put | udf-remove

udf-list

Permission:

authenticated user

Introduced:

3.3.0

Lists the registered UDF/Lua modules on the node.

Format:

udf-list
Additional information

Output

list of registered UDF modules.

Examples

asinfo -v 'udf-list'
filename=basic_udf.lua,hash=706c57cb29e027221560a3cb4b693573ada98bf2,type=LUA;
Related Commands
udf-put | udf-get | udf-remove

udf-put

Permission:

data-admin

Introduced:

3.3.0

Registered UDF/Lua modules on the node.

Format:

udf-put
Additional information

Parameters

filename
The filename to register the UDF as.

udf-type
Currently can only be the string "lua".

content-len
Number of bytes to expect for the base64 encoded UDF content.

content
content-len number of bytes of base64 encoded UDF data.

Output

Registers an UDF module on the server. Only need to be executed against one node, and will be propagated to other nodes in the cluster.

Examples

asinfo -v 'udf-put:filename=basic_udf.lua;udf-type=LUA;content-len=760;content=LS0gQSB2ZXJ5I\
HNpbXBsZSBhcml0aG1ldGljIFVERiB3aXRoIG5vIGFyZ3VtZW50cyBvciByZXR1cm4gdmFsdWUuCi0tIEl0IGFkZHMgM\
TAwMCB0byB0aGUgdmFsdWUgaW4gYmluICd0ZXN0LWJpbi0xJyBhbmQgdXBkYXRlcyBpdC4KZnVuY3Rpb24gdGVzdF9ia\
W5fMV9hZGRfMTAwMChyZWMpCglyZWNbJ3Rlc3QtYmluLTEnXSA9IHJlY1sndGVzdC1iaW4tMSddICsgMTAwMAoJYWVyb\
3NwaWtlOnVwZGF0ZShyZWMpCmVuZAoKLS0gQSBzaW1wbGUgYXJpdGhtZXRpYyBVREYgdGhhdCBoYXMgYXJndW1lbnRzI\
GFuZCBhIHJldHVybiB2YWx1ZS4KLS0gSXQgdXBkYXRlcyB0aGUgdmFsdWUgaW4gdGhlIHNwZWNpZmllZCBiaW4gYWZ0Z\
XIgcGVyZm9ybWluZyB0aGUgYXJpdGhtZXRpYwotLSBvcGVyYXRpb24sIGFuZCByZXR1cm5zIHRoZSByZXN1bHRpbmcgY\
mluIHZhbHVlLgpmdW5jdGlvbiBiaW5fdHJhbnNmb3JtKHJlYywgYmluX25hbWUsIHgsIHkpCglyZWNbYmluX25hbWVdI\
D0gKHJlY1tiaW5fbmFtZV0gKiB4KSArIHkKCWFlcm9zcGlrZTp1cGRhdGUocmVjKQoJcmV0dXJuIHJlY1tiaW5fbmFtZ\
V0KZW5kCgo=;
Related Commands
udf-list | udf-get | udf-remove

udf-remove

Permission:

data-admin

Introduced:

3.3.0

Unregister a previously registered UDF module.

Format:

udf-remove
Additional information

Parameters

filename
The filename of the UDF to remove.

Examples

asinfo -v "udf-remove:filename=basic_udf.lua"
ok
Related Commands
udf-list | udf-get | udf-put

undun

Permission:

sys-admin

Introduced:

3.3.0

Removed:

3.9.1

Instruct this server to not ignore another node.

Format:

undun:nodes=<NODE ID>[,NODE ID,...]
Additional information

Parameters

nodes
Comma ',' separated list of Node IDs. See node command to retrieve the Node ID for a particular server.

Examples

Undun one node

asinfo -v 'undun:nodes=BB936F106CA0568'
ok

Undun multiple nodes

asinfo -v 'undun:nodes=BB936F106CA0568,BB96CDE06CA0568,BB968DF04CA0568'
ok
Related Commands
dun | mcast | mesh | node | tip | tip-clear

xdr-command

Permission:

sys-admin

Introduced:

3.8.3

Removed:

5.0.0

Issues commands for XDR in server 3.8 and later.

Format:

xdr-command:<command>
Additional information

Parameters

skip-outstanding
This command instructs XDR to skip all outstanding records in the digest log. It only skips outstanding records for the main thread (it will not impact potential link down and failed node threads). This is equivalent to the noresume command in the older version of XDR (prior to 3.8).

handle-failednode=true|false
This command is only available as of version 3.9.1. When set to false, it instructs XDR to skip all outstanding records for the failed node thread for the current and potential upcoming occurrences of failed node processing. This command should only be used for rolling restart situations where all the nodes are expected to join the cluster back (if handle-failednode is set to false and a node is permanently removed from the cluster, digestlog space would not be reclaimed). It is strongly recommended to consult with Aerospike Support prior to using this command.

handle-linkdown=true|false
This command is only available as of version 3.9.1. When set to false, it instructs XDR to skip all outstanding records for the linked down thread for the current and potential upcoming occurrences of linked down processing. It is recommended to consult with Aerospike Support prior to using this command.

force-linkdown=true|false;dc=
Available as of version 4.1. When set to true, forces a DC into CLUSTER_DOWN state regardless if the DC is reachable or not. Should be set back to false to get the cluster into CLUSTER_WINDOW_SHIP. The use of this command should be carefully considered. Putting a cluster in CLUSTER_DOWN state for an extended period of time will cause the digest log to potentially overflow (and hit stop writes if configured as such) and will force an extra thread to handle shipping for the window the cluster was in the CLUSTER_DOWN state.

Examples

Skip outstanding record in the digest log

asinfo -v 'xdr-command:skip-outstanding'
ok
asinfo -v 'xdr-command:handle-failednode=false'
ok
asinfo -v 'xdr-command:force-linkdown=true;dc=DC1'
ok

xdr-get-filter

Permission:

authenticated user

Introduced:

5.3.0

Check which filter is set in XDR

Format:

xdr-get-filter:dc=<DCNAME>;namespace=<NAMESPACE>[;b64=<true|false>]
Additional information

Output

Shows the existing filter for a namespace in the DC. Expression will be shown as 'null' if there is no filter.

Examples

Get filter for 'test' namespace in 'DC1'

asinfo -v "xdr-get-filter:dc=DC1;namespace=test"

Get filter for 'test' namespace in 'DC1' in base-64 format

asinfo -v "xdr-get-filter:dc=DC1;namespace=test;b64=true"

xdr-set-filter

Permission:

authenticated user

Introduced:

5.3.0

Allows users to specify which records will be shipped by XDR using base64 equivalent of the expressions syntax. Use 'exp=null' to remove an existing filter.

Format:

xdr-set-filter:dc=<DCNAME>;namespace=<NAMESPACE>;exp=<BASE64>
Additional information

Output

Upon success command returns "ok"

Examples

Set filter for 'test' namespace in 'DC1'

asinfo -v "xdr-set-filter:dc=DC1;namespace=test;exp=kxGRSJMEk1ECo2FnZRU="

Remove filter for 'test' namespace in 'DC1'

asinfo -v "xdr-set-filter:dc=DC1;namespace=test;exp=null"