Description:
Tried to destroy group in Fabric.
Here is information:
[root@fabricsrv ~]# mysqlfabric group lookup_servers my_group
Command :
{ success     = True
  return      = [{'status': 'FAULTY', 'server_uuid': '37246eb6-ebc8-11e3-845b-080027e3e8d2', 'mode': 'READ_WRITE', 'weight': 1.0, 'address': '192.168.1.88:3306'}, {'status': 'FAULTY', 'server_uuid': '75c5356e-ebc7-11e3-8456-08002738050e', 'mode': 'READ_WRITE', 'weight': 1.0, 'address': '192.168.1.77:3306'}]
  activities  = 
}
[root@fabricsrv ~]# mysqlfabric group destroy my_group
Procedure :
{ uuid        = 841d9466-fd27-46f4-8976-f698570f03a7,
  finished    = True,
  success     = False,
  return      = GroupError: Group (my_group) is not empty.,
  activities  = 
}
As documentation states i can use --force option to force removing non-empty group:
"
http://dev.mysql.com/doc/mysql-utilities/1.4/en/fabric-quick-start-replication.html
 It is also possible to force removal of a nonempty group by specifying the parameter --force. This command removes all servers from my_group and removes the group.
shell> mysqlfabric group destroy my_group --force"
Usage:
[root@fabricsrv ~]# mysqlfabric group destroy my_group --force
Procedure :
{ uuid        = 850e8e72-e965-4aa8-87b3-77464cb47589,
  finished    = True,
  success     = False,
  return      = DatabaseError: ("Command (DELETE FROM servers WHERE server_uuid = %s, ('37246eb6-ebc8-11e3-845b-080027e3e8d2',)) failed: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`fabric`.`groups`, CONSTRAINT `fk_master_uid_servers` FOREIGN KEY (`master_uuid`) REFERENCES `servers` (`server_uuid`))", 1451),
  activities  = 
}
And from mysqlfabric manage start output:
[DEBUG] 1402391642.178269 - Executor-4 - _destroy_group failed, executing compensation
[DEBUG] 1402391642.178416 - Executor-4 - Error in _destroy_group.
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/mysql/fabric/executor.py", line 378, in execute
    self.__result = self.__action(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.6/site-packages/mysql/fabric/events.py", line 80, in wrapped
    return wrapped.function(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mysql/fabric/services/server.py", line 566, in _destroy_group
    _server.MySQLServer.remove(server)
  File "/usr/lib/python2.6/site-packages/mysql/fabric/persistence.py", line 132, in _wrap
    return original(*args, **kwrds)
  File "/usr/lib/python2.6/site-packages/mysql/fabric/server.py", line 1342, in remove
    MySQLServer.REMOVE_SERVER, {"params": (str(server.uuid), )}
  File "/usr/lib/python2.6/site-packages/mysql/fabric/persistence.py", line 512, in exec_stmt
    self.__cnx, stmt_str, options
  File "/usr/lib/python2.6/site-packages/mysql/fabric/server_utils.py", line 151, in exec_mysql_stmt
    error.errno)
DatabaseError: ("Command (DELETE FROM servers WHERE server_uuid = %s, ('37246eb6-ebc8-11e3-845b-080027e3e8d2',)) failed: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`fabric`.`groups`, CONSTRAINT `fk_master_uid_servers` FOREIGN KEY (`master_uuid`) REFERENCES `servers` (`server_uuid`))", 1451)
[DEBUG] 1402391642.178743 - Executor-4 - Statement (ROLLBACK, Params(()).
[DEBUG] 1402391642.182778 - Executor-4 - Complete job (850e8e72-e965-4aa8-87b3-77464cb47589, 00dbab06-209e-4bde-9229-4fd19d7fba31, mysql.fabric.services.server._destroy_group, Error).
[DEBUG] 1402391642.183131 - Executor-4 - Statement (DELETE FROM checkpoints WHERE proc_uuid = %s, Params(('850e8e72-e965-4aa8-87b3-77464cb47589',)).
[DEBUG] 1402391642.187257 - Executor-4 - Complete procedure (850e8e72-e965-4aa8-87b3-77464cb47589).
[DEBUG] 1402391642.187493 - XML-RPC-Session-1 - Finished command (group, destroy).
[DEBUG] 1402391642.187855 - XML-RPC-Session-1 - Statement (INSERT INTO log (subject, reported, reporter, message, category, type) VALUES(%s, %s, %s, %s, %s, %s), Params(('group.destroy', datetime.datetime(2014, 6, 10, 9, 14, 2), 'mysql.fabric.command', 'Finished command (group, destroy).', 1, 2)).
How to repeat:
All steps provided in Description section.
Suggested fix:
No idea.
  
 
 
 
Description: Tried to destroy group in Fabric. Here is information: [root@fabricsrv ~]# mysqlfabric group lookup_servers my_group Command : { success = True return = [{'status': 'FAULTY', 'server_uuid': '37246eb6-ebc8-11e3-845b-080027e3e8d2', 'mode': 'READ_WRITE', 'weight': 1.0, 'address': '192.168.1.88:3306'}, {'status': 'FAULTY', 'server_uuid': '75c5356e-ebc7-11e3-8456-08002738050e', 'mode': 'READ_WRITE', 'weight': 1.0, 'address': '192.168.1.77:3306'}] activities = } [root@fabricsrv ~]# mysqlfabric group destroy my_group Procedure : { uuid = 841d9466-fd27-46f4-8976-f698570f03a7, finished = True, success = False, return = GroupError: Group (my_group) is not empty., activities = } As documentation states i can use --force option to force removing non-empty group: " http://dev.mysql.com/doc/mysql-utilities/1.4/en/fabric-quick-start-replication.html It is also possible to force removal of a nonempty group by specifying the parameter --force. This command removes all servers from my_group and removes the group. shell> mysqlfabric group destroy my_group --force" Usage: [root@fabricsrv ~]# mysqlfabric group destroy my_group --force Procedure : { uuid = 850e8e72-e965-4aa8-87b3-77464cb47589, finished = True, success = False, return = DatabaseError: ("Command (DELETE FROM servers WHERE server_uuid = %s, ('37246eb6-ebc8-11e3-845b-080027e3e8d2',)) failed: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`fabric`.`groups`, CONSTRAINT `fk_master_uid_servers` FOREIGN KEY (`master_uuid`) REFERENCES `servers` (`server_uuid`))", 1451), activities = } And from mysqlfabric manage start output: [DEBUG] 1402391642.178269 - Executor-4 - _destroy_group failed, executing compensation [DEBUG] 1402391642.178416 - Executor-4 - Error in _destroy_group. Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/mysql/fabric/executor.py", line 378, in execute self.__result = self.__action(*self.__args, **self.__kwargs) File "/usr/lib/python2.6/site-packages/mysql/fabric/events.py", line 80, in wrapped return wrapped.function(*args, **kwargs) File "/usr/lib/python2.6/site-packages/mysql/fabric/services/server.py", line 566, in _destroy_group _server.MySQLServer.remove(server) File "/usr/lib/python2.6/site-packages/mysql/fabric/persistence.py", line 132, in _wrap return original(*args, **kwrds) File "/usr/lib/python2.6/site-packages/mysql/fabric/server.py", line 1342, in remove MySQLServer.REMOVE_SERVER, {"params": (str(server.uuid), )} File "/usr/lib/python2.6/site-packages/mysql/fabric/persistence.py", line 512, in exec_stmt self.__cnx, stmt_str, options File "/usr/lib/python2.6/site-packages/mysql/fabric/server_utils.py", line 151, in exec_mysql_stmt error.errno) DatabaseError: ("Command (DELETE FROM servers WHERE server_uuid = %s, ('37246eb6-ebc8-11e3-845b-080027e3e8d2',)) failed: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`fabric`.`groups`, CONSTRAINT `fk_master_uid_servers` FOREIGN KEY (`master_uuid`) REFERENCES `servers` (`server_uuid`))", 1451) [DEBUG] 1402391642.178743 - Executor-4 - Statement (ROLLBACK, Params(()). [DEBUG] 1402391642.182778 - Executor-4 - Complete job (850e8e72-e965-4aa8-87b3-77464cb47589, 00dbab06-209e-4bde-9229-4fd19d7fba31, mysql.fabric.services.server._destroy_group, Error). [DEBUG] 1402391642.183131 - Executor-4 - Statement (DELETE FROM checkpoints WHERE proc_uuid = %s, Params(('850e8e72-e965-4aa8-87b3-77464cb47589',)). [DEBUG] 1402391642.187257 - Executor-4 - Complete procedure (850e8e72-e965-4aa8-87b3-77464cb47589). [DEBUG] 1402391642.187493 - XML-RPC-Session-1 - Finished command (group, destroy). [DEBUG] 1402391642.187855 - XML-RPC-Session-1 - Statement (INSERT INTO log (subject, reported, reporter, message, category, type) VALUES(%s, %s, %s, %s, %s, %s), Params(('group.destroy', datetime.datetime(2014, 6, 10, 9, 14, 2), 'mysql.fabric.command', 'Finished command (group, destroy).', 1, 2)). How to repeat: All steps provided in Description section. Suggested fix: No idea.