Commit 33b3065a authored by Aurel's avatar Aurel

add a shutdown handler for the primary master node which :

- refuse any new connection
- refuse any new transaction



git-svn-id: https://svn.erp5.org/repos/neo/branches/prototype3@657 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent 059c6d6c
#
# Copyright (C) 2006-2009 Nexedi SA
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
import logging
from neo import protocol
from neo.master.service import ServiceEventHandler
class ShutdownEventHandler(ServiceEventHandler):
"""This class deals with events for a shutting down phase."""
def handleRequestNodeIdentification(self, conn, packet, node_type,
uuid, ip_address, port, name):
logging.error('reject any new connection')
raise protocol.ProtocolError('cluster is shutting down')
def handleAskPrimaryMaster(self, conn, packet):
logging.error('reject any new demand for primary master')
raise protocol.ProtocolError('cluster is shutting down')
@identification_required
@restrict_node_types(CLIENT_NODE_TYPE)
def handleAskNewTID(self, conn, packet):
logging.error('reject any new demand for new tid')
raise protocol.ProtocolError('cluster is shutting down')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment