[svn] commit: r1697 - /trunk/src/bin/xfrin/xfrin.py.in
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Apr 8 09:45:06 UTC 2010
Author: zhanglikun
Date: Thu Apr 8 09:45:05 2010
New Revision: 1697
Log:
Make log message more readable when xfrin failed.
Modified:
trunk/src/bin/xfrin/xfrin.py.in
Modified: trunk/src/bin/xfrin/xfrin.py.in
==============================================================================
--- trunk/src/bin/xfrin/xfrin.py.in (original)
+++ trunk/src/bin/xfrin/xfrin.py.in Thu Apr 8 09:45:05 2010
@@ -90,9 +90,17 @@
self._soa_rr_count = 0
self._idle_timeout = idle_timeout
self.setblocking(1)
- self.connect((master_addr, port))
self._shutdown_event = shutdown_event
self._verbose = verbose
+
+ def connect_to_master(self, master_addr, port):
+ '''Connect to master in TCP.'''
+ try:
+ self.connect((master_addr, port))
+ return True
+ except socket.error as e:
+ self.log_msg('Failed to connect:(%s:%d), %s' % (master_addr, port, str(e)))
+ return False
def _create_query(self, query_type):
'''Create dns query message. '''
@@ -164,21 +172,22 @@
if check_soa:
ret = self._check_soa_serial()
- self.log_msg('transfer of \'%s\': AXFR started' % self._zone_name)
+ logstr = 'transfer of \'%s\': AXFR ' % self._zone_name
if ret == XFRIN_OK:
+ self.log_msg(logstr + 'started')
self._send_query(rr_type.AXFR())
isc.auth.sqlite3_ds.load(self._db_file, self._zone_name,
self._handle_xfrin_response)
- endmsg = 'succeeded' if ret == XFRIN_OK else 'failed'
- self.log_msg('transfer of \'%s\' AXFR %s' % (self._zone_name,
- endmsg))
+ self.log_msg(logstr + 'succeeded')
+
except XfrinException as e:
self.log_msg(e)
- self.log_msg('Error happened during xfrin!')
+ self.log_msg(logstr + 'failed')
#TODO, recover data source.
except isc.auth.sqlite3_ds.Sqlite3DSError as e:
self.log_msg(e)
+ self.log_msg(logstr + 'failed')
finally:
self.close()
@@ -186,8 +195,9 @@
def _check_response_status(self, msg):
#TODO, check more?
- if msg.get_rcode() != rcode.NOERROR():
- raise XfrinException('error response: ')
+ msg_rcode = msg.get_rcode()
+ if msg_rcode != rcode.NOERROR():
+ raise XfrinException('error response: %s' % msg_rcode.to_text())
if not msg.get_header_flag(message_flag.QR()):
raise XfrinException('response is not a response ')
@@ -269,13 +279,12 @@
def process_xfrin(xfrin_recorder, zone_name, db_file,
shutdown_event, master_addr, port, check_soa, verbose):
+ port = int(port)
xfrin_recorder.increment(zone_name)
- try:
- conn = XfrinConnection(zone_name, db_file, shutdown_event,
- master_addr, int(port), check_soa, verbose)
+ conn = XfrinConnection(zone_name, db_file, shutdown_event,
+ master_addr, port, check_soa, verbose)
+ if conn.connect_to_master(master_addr, port):
conn.do_xfrin(False)
- except Exception as e:
- log_error(str(e))
xfrin_recorder.decrement(zone_name)
More information about the bind10-changes
mailing list