Bug #71946 MySQLFabric backing store localhost doesn't use socket.
Submitted: 5 Mar 2014 18:25 Modified: 10 Mar 2014 20:34
Reporter: Gavin Towey Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Fabric Severity:S3 (Non-critical)
Version:1.4.1-1 OS:Linux
Assigned to: CPU Architecture:Any

[5 Mar 2014 18:25] Gavin Towey
Description:
Configuration for the backing store specifies "localhost" as a server, however mysqlfabric is actually connecting via TCP on 127.0.0.1

[storage]
address = localhost:3306
user = fabric
password = secret
database = fabric
connection_timeout = 6
connection_attempts = 6
connection_delay = 1

The documentation tells you to create a user account 'fabric'@'localhost' -- but this will not work!
See: http://dev.mysql.com/doc/mysql-utilities/1.4/en/fabric-create-user.html

CREATE USER 'fabric'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL ON fabric.* TO 'fabric'@'localhost';

Following the documentation results in an access denied message.

How to repeat:
Follow the documentation for installing and configuring mysqlfabric.

Suggested fix:
I would prefer that mysqlfabric be changed to connect via the unix socket when specifying "localhost" as an address, or add an option in the [storage] section to specify a socket.

This would allow users to run the backing store instance of mysql with 'skip_networking' when the fabric management node and the backing store are on the same host.
[10 Mar 2014 20:34] Mats Kindahl
Thank you for a reasonable feature request. Verified as described.

I think a flexible approach would be to add two extra fields to the 'storage' section: a 'socket' option to give the UNIX socket and a 'protocol' option that can take either 'tcp', 'socket', or maybe 'pipe' (for Windows). That way it is possible to set all options up and just switch between them by changing 'protocol'. This would also allow other communication options to be added easily, e.g., using shared memory or other network protocols than TCP/IP.
[6 Jul 2017 19:19] Bugs System
Status updated to 'Won't fix' (Fabric is now covered under Oracle Lifetime Sustaining Support)