SingleStore DB

SingleStore DB Toolbox Release Notes

Maintenance Release Changelog

2021-11-23 version 1.13.0

  • Added support for starting each node as a separate systemd unit via systemctl. To perform this action, systemctl uses an sdb-systemd-client script, which can be distributed across the cluster using the sdb-admin enable-systemd-client command

  • Updated the --password flag in sdb-admin change-root-password and sdb-admin create-node commands to support the MEMSQL_PASSWORD environment variable

  • Fixed the sdb-admin update-config command to work for SingleStore DB versions7.6.4 and 7.5.13, however, without the support for extended output

  • Improved the error message caused by running sdb-deploy commands with the --preinstalled-path option in Debian and RPM package installations

2021-11-08 version 1.12.5

  • Fixed an error with calling a nil function in the sdb-deploy commands

  • Updated the sdb-deploy install command not to mark the new version of SingleStore DB as active in tarball-based installations. To install a new version and make it the active version, upgrade the cluster by running the sdb-deploy upgrade --preinstall-path command

    In Debian and RPM package installations, only one version of SingleStore DB can be installed at any given time

  • Fixed an issue with creating incremental backups on Network File System (mounted on a remote machine) when the target file does not exist

  • Improved the Toolbox monitoring commands by optimizing purge_blobs and purge_metrics procedures; updated the mv_queries.query_text column’s type to LONGTEXT

  • Updated the sdb-deploy upgrade command to retry upgrade if the process fails during partition promotion

  • Added a new sdb-admin show-cluster command that outputs the results of both sdb-admin show-leaves and sdb-admin show-aggregators commands. This command can be run on any node in the cluster if the Master Aggregator is not available. This command works with SingleStore DB version 7.6 and above

2021-10-25 version 1.12.4

  • Fixed the default value of the pipelines_extractor_get_offsets_timeout_ms variable in the defaultVariables checker of the sdb-report check command

  • Updated the sdb-admin update-config command to restrict users from setting specific variables on node startup

2021-10-12 version 1.12.3

  • Added SAML and JWT authentication methods to the --auth-method option of the sdb-admin sync-ldap command and a new --saml-user-domain-attribute flag. SAML requires either the --user-principal-name-attribute or the --saml-user-domain-attribute specification for successful authentication. For more information, see sdb-admin sync-ldap command reference.

2021-09-27 version 1.12.2

  • Added a new --precheck-only flag to the sdb-admin enable-high-availability command to verify that high availability can be enabled on a cluster

  • Added a new force_registration: <true | false> option to the node section of a cluster configuration YAML file for use with the sdb-deploy setup-cluster command

  • Added a new --temp-dir flag to the sdb-report calibrate command to specify the absolute path on the Master Aggregator in which to extract the dataset

  • Improved the sdb-report commands to verify that the command is run by a memsql group member. If so, the report collects data that is otherwise restricted. If not, a warning is displayed

  • Updated the sdb-deploy upgrade command to remove the prior memsql-server/singlestorerdb-server version package after a successful upgrade. Use the new --skip-uninstall flag to skip this step

  • Fixed a file-permissions issue in the sdb-deploy setup-cluster command that would sometimes cause the command to fail when run against large, frequently-accessed databases

2021-09-13 version 1.12.1

  • By default, the sdb-toolbox-config register-host command now configures the host's operating system per SingleStore's recommendations. To disable this option, use the new skip-auto-config flag

  • Added support for verifying the length of the path to the runtime directory to prevent SSH issues due to long socket paths

  • Added new informationSchemaMvAggregatedReplicationStatus and replicationLag collectors to report when the replication on the secondary cluster is out of sync with the primary cluster

  • Improved the Toolbox command outputs to hide user passwords in verbose mode

2021-08-30 version 1.12.0

  • Added calibrate-blob-storage to the sdb-report command to measure blob storage performance

  • Extended the output of the sdb-admin update-config command to better integrate with automation processes

  • Improved the performance of permissions checks for the sdb-deploy setup-cluster command

  • Extended the defaultVariables checker to check for all documented variables

  • Fixed a bug in the sdb-deploy upgrade command that would not properly set the toolbox_version variable on all nodes if an offline upgrade failed

2021-08-16 version 1.11.11

  • Improved sdb-deploy cluster-in-a-box to optimize the cluster with respect to the NUMA configuration of the host

  • Added the ability to limit the number of rows collected by the informationSchemaPipelines collector

  • Improved sdb-admin restart-node command to not require the --all flag when performing an online restart

  • Improved the output of the environment validation checks in the sdb-deploy setup-cluster command

  • Expanded the output from the memsqlctl command in the sdb-admin optimize command

  • Fixed a bug in the sdb-deploy upgrade command that may have led to issues with an offline upgrade following a failed online upgrade

2021-08-02 version 1.11.10

  • Improved the sdb-admin create-backup command to create missing directories specified in the location of file system backups

  • Updated the sdb-report collect command to allow optional compression of node log files

  • Fixed the sdb-report collect-and-check --include-performance command to run performance-related collectors and checkers in addition to the default ones

  • Fixed a bug in the sdb-report check command that would cause invalid decompression of some files in cluster diagnostics reports

2021-07-19 version 1.11.9

  • Added a new dataSkewness collector to collect information about data skew in the cluster

  • Fixed a bug in the sdb-report send-alert command that would cause some collectors to become unavailable

  • Updated the sdb-deploy cluster-in-a-box command to search for free ports

  • Improved the sdb-report collect-and-check command to use the values defined by --remote-temp-dir and --temp-dir flags

2021-07-05 version 1.11.8

  • Added a new studioVersion collector to collect information about the SingleStore DB Studio version

  • Updated the sdb-report collect command to compress node log files before adding them to a report

  • Updated the sdb-admin start-monitoring command to set retention period and purge frequency on individual monitored hosts

  • Fixed a pre-installation check in the sdb-deploy setup-cluster command that would cause an error in certain incremental cluster setups

2021-06-21 version 1.11.7

  • Added pre-installation checks to sdb-admin add-leaf and sdb-admin add-aggregator commands. The checks can be skipped using a new --skip-validate-env flag

  • Added support for creating incremental backups to the sdb-admin create-backup command

  • Added support for incremental backup restoration to the sdb-admin restore-backup command. Specific versions of incremental backups can be restored via the --incr-backup flag

  • Added support for deleting incremental backups to the sdb-admin delete-backup command

  • Fixed the sdb-admin delete-backup command to clean up .manifest files

  • Improved the JSON output of the sdb-report check command

  • Updated the sdb-deploy upgrade command to allow users to retry the upgrade steps upon the occurrence of specific errors

2021-06-07 version 1.11.6

  • Changed the output of the sdb-admin list-backups command to include incremental backups

  • Updated the sdb-admin validate-backup command to validate incremental backups

  • Added the --incr-backup-id flag to the sdb-admin validate-backup command to validate specific versions of an incremental backup

  • During an offline upgrade of SingleStore DB 7.0 and later versions via the sdb-deploy upgrade command, the leaf_failure_detection engine variable will no longer be set to OFF

  • Improved the description of the sdb-admin optimize command

2021-05-24 version 1.11.5

  • Removed the redundant output from the sdb-deploy ui command

  • Added support for installing singlestoredb-server packages via the sdb-deploy command

  • Updated the --help flag in specific Toolbox commands to display the minimum version of SingleStore DB required to run the commands

  • Changed the sdb-admin start-monitoring command to perform query sampling by default. A new disable-sample-queries flag has been added to this command to disable query sampling

  • Improved the sdb-report collect-kube command to support in-cluster configurations

  • Fixed a bug in the sdb-deploy setup-cluster command that would sometimes cause the command to crash when running pre-installation checks

2021-05-10 version 1.11.4

  • Updated the numaConfiguration checker to better handle multiple NUMA nodes per host

  • Fixed the transparentHugepage checker to display the correct output when transparent huge pages are enabled and /sys/kernel/mm/transparent_hugepage/defrag is set to madvise

  • Added the toolboxEnv collector to gather information about the Toolbox configuration

  • Fixed a bug in the sdb-report collect --merge-path command that would result in either an inconsistent directory structure or a failure when merging reports from remote hosts

  • Added the sdb-admin update-node-basedir command to move the base directory of a node and update the corresponding engine variables

  • Fixed a bug in the sdb-report collect command that would cause the command to crash if a node was offline

  • Added the nodeDirectoriesDiskUsage collector to collect disk usage information for each node directory

  • Improved the execution time of informationSchemaTableStatisticsinformationSchemaIndexStatistics, and informationSchemaMvQueries collectors

2021-04-26 version 1.11.3

  • Added the sdb-admin disable-nodes-autostart command to disable the use of systemd for restarting all nodes on specified hosts at startup

  • Added an ability to create backup using WITH SPLIT PARTITIONS in the sdb-admin create-backup command

  • Fixed the installedPermissions collector that would cause a crash if system information is unavailable for some files

  • Added a snapshot retry when a database connection is not established

  • Added the --rename-to flag to the sdb-report restore-backup command to rename a database while it is restored

  • Fixed a bug in the minFreeKbytes checker that would cause the checker to use an incorrect threshold

  • Updated the sdb-deploy command to prevent the direct upgrade from SingleStore DB version 6.x to 7.5 and later

  • Updated the sdb-deploy setup-cluster command to set the skip_install property to true without specifying the package_type property in the cluster file

  • Improved the sdb-report collect-kube command to discover Kube services

2021-04-12 version 1.11.2

  • Fixed a bug in the sdb-admin enable-high-availability command that would cause it to fail for clusters running memsql-server versions earlier than 7.1

  • Improved the description of the --reset flag in the sdb-admin update-config command

  • Improved the execution time of the sdb-admin delete-node and the sdb-admin sync-ldap commands

2021-03-29 version 1.11.1

  • Added the sdb-admin dump command to dump cluster objects into a DDL file similar to the usage of mysqldump

  • Added OpenSSL FIPS support for Toolbox via the --ssl-fips-mode flag in the sdb-admin create-node and the sdb-admin register-node commands, and via the ssl_fips_mode cluster file property in the sdb-deploy setup-cluster command

  • Added the --load-balanced flag and the load_balanced cluster file property to the sdb-deploy setup-cluster command to allow clusters to be set up with high availability in the load_balanced mode

  • Replaced the leafPairs checker with a highAvailability checker in the sdb-report command that determines the fidelity of high-availability clusters in both paired and load_balanced modes

  • Changed the cpuHyperThreading checker in the sdb-report command to not report stderr when it only contains whitespace characters, which is considered empty

  • Fixed a bug in the sdb-admin enable-high-availability command that would cause leaf nodes to be paired incorrectly

2021-03-15 version 1.11.0

  • Added the sdb-report calibrate command to calibrate a cluster’s performance against a benchmark using a variety of queries

  • Added the whitespacesInObjectName checker to the sdb-report command to check for objects in the schema that have leading or trailing whitespaces in their names

  • Added the --temp-dir flag to the sdb-report collect and the sdb-report collect-and-check commands to select a directory for storing temporary files on both remote and local hosts. The --remote-temp-dir flag is now deprecated.

  • Added a new option to specify a password while executing the sdb-admin configure-monitoring command; the password can now be specified via the EXPORTER_PASSWORD environmental variable in addition to the --exporter-password flag

  • Added a check to verify that a node is registered in Toolbox and runs the same version as the Master Aggregator when the node is added as a leaf or an aggregator

  • Added the --load-balanced flag to the sdb-admin enable-high-availability command to allow high availability to be enabled in the load_balanced mode

  • Enabled the --mask-ip flag in the sdb-report collect-kube command

  • Removed an unused field from the Toolbox state file

  • Fixed a bug in the sdb-report check command that would cause the duplicatePartitionDatabases checker to return incorrect output in some cases

2021-03-01 version 1.10.1

  • Added Implementation and LockfreeTimestamp fields to the backup cache

  • Improved the sdb-deploy setup-cluster command to skip the root password prompt if each node has a password already set

  • Improved the dmesg collector in the sdb-report collect command to also look for the dmesg executable in /usr/bin, /bin, and /usr/local/bin directories

  • Changed the informationSchemaProcesslist collector in the sdb-report collect command to mask user credentials in the output

  • Changed the leafAverageRoundtripLatency checker in the sdb-report check command to apply stricter criteria while detecting outliers

  • Fixed a bug in the sdb-admin list-backups command that would cause a crash

  • Fixed a bug in the sdb-admin start-monitoring command that would cause timestamps in the mv_events table to be invalid

2021-02-15 version 1.10.0

  • Added the --kerberos-realm flag to the sdb-admin sync-ldap command to override the Kerberos realm value, which is used to create new SQL users with the --auth-method kerberos flag

  • Improved the sdb-admin describe-host command to display the memsqlctl path and the memsqlctl config path correctly for installations that are not tarball-based

  • Changed the informationSchemaUserPrivileges collector to no longer run during environment validation

  • Fixed a bug in the sdb-report collect --mask-ip command that would cause an error when the command is run by a non-member of the memsql group

2021-02-01 version 1.9.7

  • Added the sdb-report collect-kube command to build a diagnostics report for a Kubernetes cluster

  • Added the cgroupInfo collector and the cgroupMemoryUsage checker to the sdb-report command to check if the memsqld process runs inside the memory cgroup and that memory usage is not too close to the limit

  • Added an ability to set availability groups in the sdb-deploy ui command

  • Added an ability to set a memsql-server.tar file as an installation target in the sdb-deploy ui command

  • Improved the output of the leafAverageRoundtripLatency checker in the sdb-report check command to pinpoint the nodes that have the longest round-trip latency

  • Improved the error messages caused by running Toolbox with sudo

  • Improved error messages in the sdb-deploy upgrade command

  • Changed all Toolbox commands to no longer require a special configuration to run as the root user directly and without using sudo

  • Changed the validation performed by the sdb-deploy setup-cluster command to be less strict for the memsql directory on each host

  • Changed the row timeout of some queries used in the sdb-deploy upgrade command from 1 minute to 15 minutes

  • Fixed the Toolbox auto-complete feature for bash and zsh so that it will work with both memsql-* and sdb-* commands

  • Added taking database(s) snapshots when using Toolbox to stop or restart a node to decrease the time it takes for the node to recover

2021-01-19 version 1.9.6

  • Added the sdb-admin snapshot-database command to create database snapshots

  • Added the --snapshot to the sdb-admin restart-node and the sdb-admin stop-node commands to create snapshots of databases before restarting or stopping a node

  • Added the contents of the memsqlctl.hcl and the nodes.hcl files to the output of the memsqlcltInfo collector

  • Added the ServerVersion and the MemoryUsage fields to the backup cache

  • Improved the description of the --online flag in the sdb-deploy upgrade command

  • Improved the request to run as sudo message in the Toolbox commands

  • Changed the warning messages in the defaultWorkloadManagement checker to be more consistent

  • Fixed a bug in the sdb-report collect --mask-ip command that would cause an error when collecting report information for a stopped node

2021-01-08 version 1.9.5

  • Improved the error message of the sdb-deploy setup-cluster command when an environment validation fails due to different users owning data directories of a node

2021-01-04 version 1.9.4

  • Added the --mask-ip flag to the sdb-report collect command to mask sensitive data in the report files, such as IP addresses, MAC addresses, usernames, and passwords

  • Added the role column to the mv_nodes table for population by the monitoring pipeline

  • Added the sdb-admin enable-nodes-autostart command to enable nodes autostart on system reboot

  • Changed the chronydStatus and the partitionsStart collectors in the sdb-report command to be excluded by default

  • Changed the description of analyzeTable collector in the sdb-report command

  • Changed the memory units in the consistent_maximum_memory checker from kilobytes (KB) to megabytes (MB)

2020-12-15 version 1.9.3

  • Fixed an issue in the deployment UI that would occur after clicking the Add Another Host button

  • Fixed a bug in the sdb-deploy setup-cluster command that would sometimes place the memsqlctl.hcl file in an incorrect folder

2020-12-14 version 1.9.2

  • As of Toolbox 1.9.2, each memsql- command now has an associated sdb- analog that is both compatible with, and functionally identical to, the memsql- command. All memsql- commands will continue to function as expected. With this enhancement:

    • sdb-admin is equivalent to memsql-admin

    • sdb-deploy is equivalent to memsql-deploy

    • sdb-report is equivalent to memsql-report

    • sdb-toolbox-config is equivalent to memsql-toolbox-config

  • Added the sdb-toolbox-config state, the sdb-deploy state, the sdb-admin state, and the sdb-report state commands to display the Toolbox state from the toolbox-state.hcl file

  • Added the --preinstalled-path flag to the sdb-deploy install, sdb-deploy cluster-in-a-box, and the sdb-deploy setup-cluster commands to specify the folder where a memsql-server.tar file has been extracted as an install target

  • Added the networdBuffersMax checker to the sdb-report command to check that the wmem_max and the rmem_max values are at least 8MB

  • Added the --config-file flag to the sdb-admin send-alert command to specify a YAML file containing both the location and the thresholds as an alternative to using the --alert-location and the --thresholds flags

  • Added the --monitoring-version flag to the sdb-admin start-monitoring command to specify a memsql-server version to pass to the memsql-exporter

  • Added the --batch-interval flag to the sdb-admin start-monitoring command to specify a time interval between data extractions

  • Added the --sample-queries and the --high-cardinality-metrics flags to the sdb-admin start-monitoring command to enable the collection of additional monitoring data

  • Updated the sdb-admin start-monitoring command to support features introduced in the SingleStore DB 7.3 version of the memsql-exporter

  • Changed the mallocActiveMemory checker to fail if malloc_active_memory is greater than 5GB (up from 2GB)

  • Changed the diskUsage and the diskInodesUsage checkers in the sdb-report check command to not report high usage on loopback filesystems

  • Changed the sdb-report collect command to not output a stack trace when a collection error is encountered

  • Fixed a bug in the sdb-deploy upgrade command that would sometimes cause aggregator actions to be displayed in an incorrect order during a dry run

2020-11-30 version 1.9.1

  • Added the processFiles collector to the memsql-report command to collect all /proc/<pid>/* files for the memsqld and the memsqld_safe processes

  • Added the autoAttach checker to the memsql-report command to warn if the auto_attach engine variable is not set to ON

  • Added the --preinstalled-path flag to the memsql-deploy upgrade command to specify the folder as an upgrade target where a memsql-server.tar file has been extracted

  • Improved the error message for the memsql-deploy ui command when registered hosts are detected

2020-11-16 version 1.9.0

  • Added the cgroupDisabled checker and osRelease collector to the memsql-report command to check that cgroup memory is disabled for Red Hat 7.x or later

  • Added the memsql-report send-alert command to automatically run memsql-report collect-and-check and alert on fails or warnings

  • Updated the descriptions of multiple checkers in the memsql-report command

  • Improved the long message for the memsql-admin change-root-password command

  • Improved the long message for the memsql-admin change-root-password command

  • Improved the error message for the memsql-admin start-monitoring command when the exporter host is inaccessible from other hosts

  • Improved the error messages related to environment validation in the memsql-report collect and the memsql-deploy setup-cluster commands

  • Improved the orchestratorProcesses checker to include each process in the report only once, even if more than one instance of the process is running on the host

  • Changed the memsql-deploy setup-cluster command to check that all of the nodes that will be registered have the correct file permissions and owner

  • Changed the output of the schema collector to include views definitions, and improved how functions, procedures, and error messages are displayed

  • Changed the memsql-deploy setup-cluster command to set the secure-file-priv engine variable to a default path of <memsqlctl's-default-install-dir>/db_files for each newly-created node

  • Fixed a bug in the memsq-admin restart-node command that would sometimes display an incorrect error message

  • Fixed a bug in the clusterMemoryUsage checker that would produce incorrect output

  • Fixed a bug in the memsql-admin enable-high-availability command that would sometimes cause a kernel panic if Toolbox is configured incorrectly

2020-11-02 version 1.8.1

  • Improved the error message in the memsql-admin backup-related commands when the --repository flag contains an invalid value

  • Fixed a bug where the memsql-report check --validate-env command would crash when a host has TarInstallDir defined and memsql-server installed

  • Added the installedPermissions checker and collector to the memsql-report command to verify that cluster files and directories have the correct permissions

  • Fixed a bug where the --skip-validate-env flag was ignored by the memsql-deploy setup-cluster command

  • Added the --data-dir flag to the memsql-deploy setup-cluster command for specifying the absolute path to each node’s data directory (DataDir)

  • Improved the memsql-deploy ui command to support pre-deployment environmental checks

  • Improved the error message in the memsql-admin restart-node --online command to inform the user that relevant nodes must be running to perform the restart

  • Fixed a bug in the memsql-deploy upgrade command that incorrectly determined that all columnstore tables could be safely upgraded

2020-10-19 version 1.8.0

  • Added the memsql-admin sync-ldap command to synchronize LDAP users and groups with SingleStore DB/MemSQL database users

  • Added a dry (trial) run message to the memsql-report collect command that displays the number of collectors that will be executed

  • Fixed a bug where the value of the timeout in the memsql-admin query --row-timeout command was not taken into account by the command

  • Added a clusterMemoryUsage checker to the memsql-report check command to determine if there is at least 10% of unused memory left for each node

  • Added a diskInodesUsage checker to the memsql-report check command to determine if there is at least 15% of unused disk inodes left on each host

  • Fix a bug where the dmesg -T command was not executed while collecting reports with the memsql-report collect command

  • Added a diskLatencyRead checker to the memsql-report check command to determine if the disk read latency is below the recommended threshold on each host

  • Added a diskLatencyWrite checker to the memsql-report check command to determine if the disk write latency is below the recommended threshold on each host

2020-10-05 version 1.7.2

  • Added the memsql-admin unregister-node and memsqlctl unregister-node commands to unregister nodes in Toolbox

  • Added the majorPageFaults checker and collector to the memsql-report command to verify if the number of major page faults that the system generates per second is lower than a specific threshold

  • Added the swapUsage checker and collector to the memsql-report command to verify if the swap usage is lower than a specific threshold

  • Added the cpuIdle checker and the cpuUtilization collector to the memsql-report command to verify if the percentage of time the CPUs have been idle is higher than a specific threshold

  • Added the memoryCommitted checker and collector to the memsql-report command to verify if the percentage of memory required for a given workload is less than a specific threshold

  • Added the swapEnabled checker to the memsql-report check command to verify if the total swap memory is not less than 10% of the physical memory

  • Added the vmSwappiness checker to the memsql-report check command that checks if the vm.swappiness kernel setting is greater than 0 on each host

  • Added environment validation to the memsql-deploy setup-cluster command

  • Added the --tar-install-dir flag to the memsql-deploy cluster-in-a-box command

  • Changed the max_memory_settings checker of the memsql-report check command to accept a maximum memory use of 91%, up from 90%

  • Updated the memsql-admin query command to not require a password for the MemSQL root user

  • Updated the memsql-admin change-root-password, memsql-admin create-node, memsql-admin query, and memsql-admin register-node commands to prompt for a password only after all of the included flags have been verified

  • Improved the warning messages in the memsql-deploy upgrade --precheck-only command

  • Fixed a bug in the memsql-report check command where messages about unavailable checks were displayed

  • Fixed a bug where the syncCnfVariables checker in the memsql-report check command would inadvertently return incorrect results

  • Fixed a bug in the memsql-admin query command that would ignore the --user flag

  • Fixed a bug in the memsqlctl command where some commands that were run with the --timeout flag would not exit after the specified timeout

2020-09-21 version 1.7.1

  • Added an --include memsqlAuditlogs flag to the memsql-report collect command to collect audit logs

  • Fixed a bug in the memsql-report check command where maxMemorySettings reported a failure when a host has more than 10GB of memory free

  • Added a no_start: true option to the node section of a cluster configuration YAML file for use with the memsql-deploy setup-cluster command

  • Fixed a bug where host fingerprinting would fail to compute on some hosts

  • Added a --no-partition-change flag to the memsql-admin optimize command to skip any changes made to the default_partition_per_leaf MemSQL variable

  • Fixed a bug in the memsql-admin enable-high-availability command that would co-locate nodes on the same host that were in different availability groups

  • Improved the error message for the memsql-deploy setup-cluster command when duplicate hosts are found in the cluster configuration YAML file

  • Improved the logging function by saving all of the messages generated when running Toolbox commands with the --json flag

  • Improved the memsql-deploy setup-cluster command to display an error message when a node is specified with an incorrect availability group in the cluster configuration YAML file

  • Fixed a bug where standard output of memsqlctl commands was sometimes lost

  • Moved the message that memsqlctl is an earlier version to verbose output

2020-09-09 version 1.7.0

  • Added the memsql-admin configure-monitoring command that updates the monitoring configuration for the cluster

  • Added the memsql-admin start-monitoring and memsql-admin stop-monitoring commands to start and stop the collection of monitoring data

  • Added the memsql-report collect-and-check command that runs both collect and check reports

  • Improved the high availability functionality in the memsql-deploy setup-cluser command by pairing leaves of different hosts

  • Fixed a bug in the memsql-admin enable-high-availability command where nodes were assigned non-optimal availability groups

  • Improved the memsql-deploy upgrade command to report all precheck failures

  • Improved the memsql-deploy setup-cluster command to explain why a clean cluster is required before deploying MemSQL

  • Fixed a bug where the syncCnfVariables checker would crash in the memsql-report check command

  • Fixed a bug in the memsql-admin query command where --password was not correctly processed

2020-08-26 version 1.6.7

  • Fixed a bug where an access denied error would cause the memsql-deploy upgrade command to fail

2020-08-21 version 1.6.6

  • Added bash and zsh tab completion to all Toolbox commands

  • Fixed a bug in the memsql-admin query command where --password was not correctly processed

  • Improved the memsql-admin bootstrap-aggregator, memsql-admin create-node, memsql-admin set-license, memsql-deploy cluster-in-a-box, and memsql-deploy setup-cluster commands to use the license from the MEMSQL_LICENSE environment variable

  • Fixed a bug where memsql-deploy upgrade would fail due to a replicating database

  • Fixed a bug where a blob existed but couldn’t be opened in the memsql-admin backup-related commands

  • Improved logging to always include output of SQL queries

  • Fixed the error message in the memsql-deploy setup-cluster command when a host without memsql-server installed was already part of the cluster

  • Added a warning to not edit the memsql.cnf file manually

  • Added retries to sudo prompting

  • Improved the error message for the memsql-deploy upgrade command when using a tar file without specifying tar-install-dir

  • Improved the transparentHugepage checker of the memsql-report check command to not check defrag if THP is disabled

2020-08-10 version 1.6.5

  • Added the attachRebalanceDelay checker to the memsql-report check command that verifies that attachRebalanceDelay is not set to 86400

  • Fixed a bug where an error wasn’t displayed when attaching a leaf failed while executing the memsql-deploy upgrade command

  • Updated the memsql-toolbox-config register-host command to validate the --memsqlctl-path value and added the--skip-validation flag to skip this validation

  • Improved the memsql-deploy upgrade command to attempt to attach and detach a leaf under certain error conditions instead of proceeding to an offline upgrade

  • Improved the error message when an attempted SSH connection fails

  • Added the diskBandwidth checker to the memsql-report check command that checks disk read, write, and sync-read bandwidth

  • Improved the informationSchemaMvEvents checker of the memsql-report check command to order events by time

  • Added the --disable-spinner flag to all Toolbox commands to disable the progress spinner, which some terminal sessions/environments may have issues with

  • Improved the memsql-deploy setup-cluster command to suppress an error if one or more hosts did not have memsqlctl installed

  • Changed the validLicense checker of the memsql-report check command to report in units for clusters with a unit-based license

  • Added the --base-install-dir flag to the memsql-deploy setup-cluster command which sets each node’s base install directory on all hosts

2020-07-27 version 1.6.4

  • Improved the memsql-admin delete-backup command to no longer error if a backup name is listed more than once

  • Added a password prompt to all Toolbox commands as an alternative to specifying the password as a command-line argument, which would be captured in the shell’s history

  • Fixed a bug where tarball-based installations failed for remote hosts

  • Improved the descriptions of the memsql-admin delete-node, memsql-deploy uninstall, and memsql-toolbox-config unregister-host commands

  • Added the consistentMaxMemory checker to the memsql-report check command that confirms the maximum_memory setting is consistent across all leaves and aggregators

  • Added the memsql-deploy destroy-cluster command that deletes all data, deletes all MemSQL nodes, and unregisters all hosts

  • Improved the dry runs of the memsql-admin delete-node, memsql-deploy uninstall, and memsql-toolbox-config unregister-host commands

  • Improved the cluster file used by the memsql-deploy setup-cluster command to accept the case-insensitive role of a node

  • Added an --all flag to the memsql-admin describe-node command to list the details for all nodes

  • Added a --precheck-only flag to the memsql-deploy upgrade command to check if a cluster is stable and an upgrade is possible without performing an upgrade

  • Improved the memsql-admin command’s backup/restore functionality to search for a backup in a repository if one isn’t found in a cache

  • Improved the memsql-deploy upgrade command to compare the target upgrade version against the major version that is already installed

  • Changed the syncCnfVariables checker of the memsql-report check command to confirm that its value is equal to the runtime value in memsql-server

2020-07-14 version 1.6.3

  • Fixed a bug where the memsql-deploy ui command fails to run

2020-07-13 version 1.6.2

  • Added the --master-port, --leaf-port, and --bind-address flags to the memsql-deploy cluster-in-a-box command

  • Updated the memsql-deploy setup-cluster commands to not allow SSH for localhost

  • Fixed a bug where the memsql-deploy upgrade command fails when memsql-server 7.1 is already installed on a host

  • Added details as to why some Toolbox commands prompt for a sudo password

  • Added a check in the memsql-deploy upgrade command that confirms that the active memsql-server package is the one for the target version

  • Updated the memsql-deploy setup-cluster command to provide the same output with or without the --config-file flag

  • Removed the connections per node limit in the memsql-deploy upgrade command

  • Fixed a bug where SSH standard error output was sometimes discarded

  • Added a --file-path flag to the memsql-admin set-license command to allow the license to be stored in, and read from, a file

  • Updated the memsql-deploy commands to prompt for which package manager to use if both deb and rpm package managers are installed

  • Improved the version checks of the memsql-deploy upgrade command

  • Added a --skip-version-check flag to the memsql-deploy upgrade command that ignores the currently active memsql version and enables downgrading

  • Added the --role, --license, --user, --user-password, --availability-group, and --force-master flags to the memsql-admin create-node command. Refer to the memsql-admin create-node reference page for more information.

  • Improved the functionality of the collector-related flags in the memsql-report commands

2020-06-30 version 1.6.1

  • Fixed a bug where memsql-deploy setup-cluster fails when run with the --cluster-file flag

2020-06-29 version 1.6.0

  • Changed the memsql-deploy cluster-in-a-box command to bind nodes to the address 127.0.0.1 instead of 0.0.0.0

  • Changed the memsql-deploy uninstall --all-versions command to return a 0 exit code if there are no versions to uninstall

  • Added the memsql-deploy ui command that runs a web UI to install MemSQL and deploy a cluster

  • Added syncCnfVariables checker to the memsql-report check command that confirms that there are no sync variables values defined in the memsql.cnf file on a host

  • Updated the memsql-deploy cluster-in-a-box command to deduce the package format when the --file-path flag is specified

  • Added the --force-package-format flag to the memsql-deploy list-versions command that lists the versions installed by the chosen package manager

  • Fixed a bug where memsql-deploy upgrade displays an error message when attempting to upgrade to the MemSQL version that already installed and activated on the host

  • Changed the memsql-report check command to display results only for checkers that have all needed data, and list those checkers that do not

  • Updated the memsql-admin optimize command to display a message when non-uniform memory allocations for leaves are found

  • Updated the description of the memsql-admin put-file command

2020-06-15 version 1.5.5

  • Added a required --password flag to the memsql-deploy cluster-in-a-box command that sets a password for the MemSQL root user

  • Fixed a bug where the memsql-report check command crashes when the orphanTables checker does not find specific information in a report

  • Fixed a typo in the memsql-report command’s error message when it fails to detect whether memsqlctl is installed on a host

  • Fixed a bug where performance collectors were executed by default with the memsql-report collect command

  • Added support for file protocol for memsql-admin backup functionality

2020-06-03 version 1.5.4

  • Added a --force-package-format flag to the memsql-deploy uninstall command which will allow MemSQL to be uninstalled when there are both dpkg and rpm package managers found on a host

  • Fixed a bug where memsql-admin enable-high-availability fails with MemSQL version below 7.0.6

  • Added the result of ANALYZE OPTIMIZER_STATE INTO OUTFILE of the memsql-report collect command to the collector’s section of the analyzeTables report

  • Fixed a bug where memsql-report check would issue a warning on a valid distributed_keepalive_timeout value

  • Updated the memsql-deploy list-versions command to display its output more quickly

  • Displays a more specific error message when a file on a host cannot be accessed

  • Updated the output of commands that are run with -vvv to be more readable

  • Added --remote-temp-dir flag to the memsql-report collect command that allows setting a directory for storing temporary files on a host

  • Fixed a bug where a validLicense check reports a failure on a valid license

2020-05-18 version 1.5.3

  • Added analyzeTables collector to memsql-report collect that saves column and histograms recorded on each table

  • Added the ability to store a path to a license file (rather than the license itself) in the cluster configuration file used by memsql-deploy setup-cluster --cluster-file

  • Improved dmesg collector with timestamps that users can recognize and interpret

  • Fixed a bug where memsql-deploy upgrade does not show an error if the final upgrade step fails

  • Fixed a bug where memsql-deploy upgrade would hang if there were orphan databases

  • Added a --max-column-width flag to the memsql-admin query command that allows query output columns to be truncated to the specified number of characters

  • Added a --allow-duplicate-host-fingerprints flag to memsql-deploy setup-cluster and memsql-toolbox-config register-host commands that allows hosts with identical SSH host keys to be added to the cluster

2020-05-04 version 1.5.2

  • Fixed a bug where memsql-report collect hangs when collecting reports from some hosts

  • Fixed a bug where a cpuFreqPolicy check reports a failure on a valid configuration

  • Fixed a bug where the chronydStatus collector does not work for a host that does not have pgrep

  • Removed maxOpenFiles and filesystemType checks from memsql-report check --validate-env

  • Added a warning and the request for user conformation when memsql-toolbox-config register-host is run with --localhost and --host 127.0.0.1

  • Fixed a bug where memsql-deploy upgrade incorrectly estimates the disk space required to upgrade from MemSQL 6 to MemSQL 7

  • Made memsql-admin delete-backup faster by deleting multiple backups in parallel

  • Added cpuMemoryBandwidth collector and checker to memsql-report that measures CPU-memory bandwidth on each host and confirms that both bandwidth and latency are within acceptable limits

  • Added --include-performance flag to memsql-report collect and memsql-report check that is required to run performance checks for a cluster

  • Displays a detailed error message when the memsql-toolbox-config register-host and memsql-deploy setup-cluster commands are run with multiple localhosts

2020-04-20 version 1.5.1

  • Added new collectors and checkers to memsql-report collect and memsql-report check commands:

    • memsqldProcessLimits collects limits for all memsqld processes

    • chronydStatus collects the status of the chronyd service

    • chronydDisabled checks that chronyd is disabled

    • partitionsStart collects information about each partition’s start sector number

    • partitionsConsistency checks that all partition start sectors are consistent

    • cpuThreadingInfo collects information about CPU threading configuration

    • cpuHyperThreading checks that all CPUs have hyperthreading enabled

    • cpuFreqInfo collects information about CPU frequency configuration

    • cpuFreqPolicy checks that all CPUs have power save disabled and turbo mode enabled

  • Fixed a bug where the ulimit checker reports FAIL even when set correctly for the memsql user

  • Displays a more meaningful error message when region or endpoint_url is missing in a backup command

  • Fixed a bug where memsql-report collect fails if some node IDs could not be read

  • Fixed a bug where memsql-deploy upgrade --online fails to upgrade from MemSQL version 7.0.15

  • Added region to the backup functionality help examples

2020-04-06 version 1.5.0

  • Added functionality for backup management:

    • memsql-admin create-backup - backup one or more databases to a repository

    • memsql-admin delete-backup - delete a backup

    • memsql-admin list-backups - list all the latest backups

    • memsql-admin restore-backup - restore a database from a backup

    • memsql-admin summarize-backups - print summary information for backups

    • memsql-admin validate-backup - verify that a backup is correct

  • Fixed a bug where memsql-deploy setup-cluster fails if the cluster configuration file contains skip_install:true

  • Added a check to memsql-deploy setup-cluster that prevents nodes from sharing the same folder on a host when specified in a cluster configuration file

2020-03-23 version 1.4.4

  • Added computation of a fingerprint for each host to avoid adding the same host multiple times under a different name.

  • Added --online flag for memsql-deploy upgrade that runs online upgrade for MemSQL.

  • Fixed a bug where detectCrashStackTraces check displayed warnings if the memsqlStacks.files.json file was absent.

  • Improved error message for memsql-deploy setup-cluster when the path to the source file is incorrect.

  • Added toolboxConfig collector to memsql-report collect that saves the Toolbox’s configuration to a report file.

  • Added a host collector to memsql-report collect that saves each host’s description to a report file.

  • Fixed a bug where memsql-admin enable-high-availability does not request the correct privilege.

  • Added a snapshot retry before upgrade if a database is re-provisioning.

  • Removed extra escape characters in log outputs to make verbose logs more readable.

2020-03-09 version 1.4.3

  • Improved command memsql-deploy upgrade:

    • Added a disk space check and a database snapshot is taken before an upgrade is started.

    • Added cleanup steps in case of an unsuccessful upgrade.

  • Added memsql-admin put-file command that copies a file to the same path on all hosts.

  • Fixed a bug where memsql-admin stop-node --all --force did not stop any nodes if one node was unavailable.

  • Stopped producing messages if no action will be taken by a command.

  • Fixed a bug where memsql-deploy upgrade did not wait for the database to restart after an upgrade is finished.

  • Fixed a bug in memsql-admin enable-high-availability where the command does not work correctly if two leaf nodes on the same host have different hostnames.

  • Added an additional check to memsql-report that ensures all cluster hosts have SSD drives.

  • Added --validate-env option to memsql-report that will validate if MemSQL can be installed.

2020-02-11 Version 1.4.2

  • Improved the prompt message that is displayed when upgrading databases to the new replication modes in MemSQL 7.0.

  • Improved the speed of health checks that are performed on columnstore tables during upgrades.

  • Improved the way memsql-deploy upgrade waits for node recovery.

  • Fixed a bug where memsql-toolbox-config is not able to resolve a state file but returns incorrect error.

  • Fixed a bug where memsql-deploy downloaded the package twice for online upgrade.

  • Fixed the behavior of disk checks before upgrade: always fail upgrade if there is not enough space, show success message on success only.

  • Fixed a bug where toolbox commands did not close the environment after a command failure.

  • Added command-line flag checks to memsqlctl client.

  • Added possibility to set MaxSSHSessionsPerHost parameter with command line (--ssh-max-sessions) or config file.

  • Fixed bug where the memsql-deploy setup-cluster --cluster-file <cluster-file> command returns nodes with Unknown role.

2019-11-25 Version 1.4.1

  • Fixed a bug where all Toolbox commands were not able to pass the --parallelism flag.

  • Fixed a bug where running memsql-deploy upgrade without any flags would perform a rolling restart on the cluster.

  • Fixed a bug where the user would always be prompted for changes to the replication mode of the databases, instead of only being asked when upgrading to MemSQL 7.0.

2019-11-19 Version 1.4.0

  • Updated memsql-deploy to support upgrade to MemSQL 7.0

  • Added TSV based output for some memsql-report collectors.

  • Fixed a bug where memsql-report check fails to check for blocked queries with time 0.

  • Updated memsql-admin update-config --set-global to automatically run on the Master Aggregator.

  • Updated the securityLimits collector to include the output of /etc/security/limits.d and /proc/PID/limits

  • Updated the numactl checker to check if the sum of numa node memory capacity exceeds machine memory capacity.

  • Added new collectors to memsql-report collect:

    • top

    • informationSchemaMvBackupHistory

  • Added new checkers to memsql-report check:

    • orphanTables

2019-10-09 Version 1.3.0

  • Added support for memsql-deploy setup-cluster to accept a YAML file with cluster configurations.

  • Fixed a bug where memsql-report exits with a status of 0 if it fails.

  • Fixed a bug that caused the output of memsql-report collect to be not parsable by memsql-report check

  • Added new collectors to memsql-report collect:

    • uptime

    • shutdownTime

    • rebootTime

  • Added new checkers to memsql-report check:

    • tracelogOOM

    • tracelogOOD

    • explainRebalancePartitionsChecker

    • longRunningQueries

    • detectCrashStackTraces

    • defaultVariables

  • Updated the checkers defaultKeepaliveSettings and defaultHeartbeatSettings to be part of defaultVariables checker

2019-09-03 Version 1.2.3

  • Fixed a bug where the output of `memsql-report collect` could be missing information.

2019-08-06 Version 1.2.2

  • Added support for rootless memsql-server installs using tar-based packages.

  • Added the --role flag to memsql-admin start-node to start the nodes by role.

  • Added the --role flag to memsql-admin stop-node to stop the nodes by role.

  • Added the Bind Address column to memsql-admin list-nodes output.

  • Updated memsql-admin delete-node to remove leaves and child aggregators from the cluster before deleting them.

  • Updated the sort order for memsql-admin list-nodes to be consistent with other commands.

  • Improved the readability of the License Expiration field in memsql-admin show-license.

  • Fixed a bug that caused the schema collector in memsql-report collect to not collect procedures from memsql-server version 6.7.11 and above.

  • Added new collectors to memsql-report collect:

    • explainRestoreRedundancy

    • explainRebalancePartitions

    • showClusterStatus

  • Added new checkers to memsql-report check:

    • delayedThreadLaunches

2019-04-22 Version 1.1.1

  • Added the --stop flag to memsql-admin delete-node to stop the nodes before deleting them.

  • Added the --host, --port, --user, and --password flags to memsql-admin query for querying a node directly.

  • Added new checkers to memsql-report check:

    • disconnectedReplicationSlaves

    • interpreterMode

    • leafAverageRoundtripLatency

    • runningBackup

    • secondaryDatabases

    • validLicense

  • Updated checkers in memsql-report check:

    • blockedQueries also looks for sleeping threads with open transactions

    • offlineLeaves renamed to leavesNotOnline

  • Added table-based output for some memsql-report collectors.

  • Shortened the filenames inside a cluster report to avoid name length limits in archive files.

2019-03-19 Version 1.1.0

  • Fixed a bug that prevented NOPASSWD sudo from being considered passwordless sudo.

  • Added the memsql-admin query command.

  • Added more properties to memsql-admin list-nodes and memsql-admin describe-node.

  • Removed the swappiness checker. The setting it checked is not required by MemSQL 6.7.

  • Updated the informationSchemaPipelines collector to include information_schema.PIPELINES_CURSORS and information_schema.PIPELINES_FILES.

  • Added new collectors to memsql-report collect:

    • explainOrphanDatabases

    • informationSchemaMvQueries

    • licenseMetadata

  • Added new checkers to memsql-report check:

    • defaultHeartbeatSettings

    • defaultKeepaliveSettings

    • defaultWorkloadManagement

    • defunctProcesses

    • duplicatePartitionDatabase

    • failedCodegen

    • offlineAggregators

    • offlineLeaves

    • pendingDatabases

    • queuedQueries

    • userDatabaseRedundancy

    • versionHashes

  • Updated the report format to include the source paths of copied files.

  • Updated the env commands to include the resolved configFile location.

2019-01-08 Version 1.0.6

  • Updated memsql-deploy cluster-in-a-box to set passwords that are required by memsqlctl create-node starting in MemSQL 6.7.8.

  • memsql-admin create-node now requires the --password flag.

  • Added the --base-install-dir flag to memsql-admin create-node.

  • Updated memsql-report collect --only to also include the memsqlctlInfo collector by default.

  • Added a safety check to memsql-deploy setup-cluster that prevents enabling High Availability with an odd number of leaves.

  • Added the --skip-disk-check flag to memsql-admin enable-high-availability.

2018-12-04 Version 1.0.5

  • Added support for advanced usage of memsql-admin register-node.

2018-12-04 Version 1.0.4 (internal only)

  • Added the attempted command string to error messages due to failed command execution.

  • Added support for running commands as a Linux user that is part of an unnamed group.

  • Fixed a bug in memsql-deploy install that improperly failed the installation if it was unable to add the target user to the memsql Linux group.

  • Added support for advanced memsqlctl configuration to memsql-report collect-local.

  • Reduced spurious errors from memsql-report check when memsqlctl is not installed on the target hosts.

  • Added support for changing the SQL root password on all nodes in the cluster with memsql-admin change-root-password.

2018-11-27 Version 1.0.3

  • Added advanced memsqlctl configuration flags to memsql-toolbox-config register-host.

  • Enabled parallelism for memsql-report collect.

  • Added the report file path to the output of memsql-report collect and memsql-report collect-local.

  • Fixed a bug in memsql-admin confirmation messages that incorrectly implied the use of --password when it was not used.

2018-11-20 Version 1.0.2

  • Fixed bug preventing the use of memsql-admin update-config --all.

  • Added host field to memsql-admin describe-node output.

  • Fixed a bug in memsql-deploy list-versions when there are no hosts registered.

  • Changed permissions logic to use memsqlctl configuration to determine the correct user and group for remote commands.

2018-11-09 Version 1.0.1

  • Fixed bug causing Toolbox to assume passwordless sudo if there were cached sudo credentials in the current session.

2018-11-06 Version 1.0.0

  • Initial release of memsql-toolbox.