SingleStore Client Tools Upgrade broke Ansible Playbook Scripts

Just found out a curious stuff…

Upgrading client tools from:

singlestore-client.x86_64 0:1.0.3-1


singlestore-client.x86_64 0:1.0.4-1

Do note that binary on both packages reports the same version:

memsql -V
/usr/lib/singlestore-client/singlestore-client Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper

Broke Ansible Playbooks like in the example:

memsql -u root -pXXXXhNO_HOST -N -e “select tenant_name from insight.tenants order by 1”

singlestore-client: [Warning] Using a password on the command line interface can be insecure.
ERROR 2005 (HY000): Unknown MySQL server host ‘NO_HOST’ (0)

Parsing the password after -p caught “h” as host parameter and passed NO_HOST part of the password as a hostname.

JEBUS !!! =)


I assume that “XXXXhNO_HOST” is the password. If so, you need to escape the potential -h flag that is unintentionally part of your password to tell the client parser that its still the password and not another argument of the connection string. Sure, I don’t know what the exact password is, but is there a preceding - character to the h character?
Can you try using memsql -u root -p'XXXXhNO_HOST' -N -e “select tenant_name from insight.tenants order by 1” and memsql -u root --password=XXXXhNO_HOST -N -e “select tenant_name from insight.tenants order by 1” instead and see if that works?

No hifen “-” in the password and tried that, escaping, without success.
Regardless previous package worked flawlessly.

Solution by SingleStore Support is aligned with your last command, by using:

memsql -uUSER --password=XXXXhNO_HOST -N -e "SELECT @@memsql_version;"

Comment from support: “… we were able to reproduce the error and filled an internal ticket for the quick resolution of the issue.”