[Neo-report] r2371 vincent - in /trunk/neo: ./ admin/ client/ client/handlers/ master/ mas...

nobody at svn.erp5.org nobody at svn.erp5.org
Sat Oct 30 00:11:54 CEST 2010


Author: vincent
Date: Sat Oct 30 00:11:53 2010
New Revision: 2371

Log:
Stop defining and using default "NEO" logger.

Modified:
    trunk/neo/__init__.py
    trunk/neo/admin/app.py
    trunk/neo/admin/handler.py
    trunk/neo/bootstrap.py
    trunk/neo/client/Storage.py
    trunk/neo/client/app.py
    trunk/neo/client/handlers/master.py
    trunk/neo/client/handlers/storage.py
    trunk/neo/client/poll.py
    trunk/neo/client/pool.py
    trunk/neo/connection.py
    trunk/neo/event.py
    trunk/neo/handler.py
    trunk/neo/logger.py
    trunk/neo/master/app.py
    trunk/neo/master/handlers/__init__.py
    trunk/neo/master/handlers/administration.py
    trunk/neo/master/handlers/client.py
    trunk/neo/master/handlers/election.py
    trunk/neo/master/handlers/identification.py
    trunk/neo/master/handlers/shutdown.py
    trunk/neo/master/handlers/storage.py
    trunk/neo/master/recovery.py
    trunk/neo/master/transactions.py
    trunk/neo/master/verification.py
    trunk/neo/node.py
    trunk/neo/pt.py
    trunk/neo/storage/app.py
    trunk/neo/storage/database/mysqldb.py
    trunk/neo/storage/handlers/__init__.py
    trunk/neo/storage/handlers/client.py
    trunk/neo/storage/handlers/hidden.py
    trunk/neo/storage/handlers/identification.py
    trunk/neo/storage/handlers/initialization.py
    trunk/neo/storage/handlers/master.py
    trunk/neo/storage/handlers/replication.py
    trunk/neo/storage/handlers/verification.py
    trunk/neo/storage/replicator.py
    trunk/neo/storage/transactions.py
    trunk/neo/tests/__init__.py

Modified: trunk/neo/__init__.py
==============================================================================
--- trunk/neo/__init__.py [iso-8859-1] (original)
+++ trunk/neo/__init__.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -17,8 +17,7 @@
 
 import logging as logging_std
 
-# default logger
-logging = logging_std.getLogger('NEO')
+# "logging" is available here only once setupLog has been called.
 
 PREFIX = '%(asctime)s %(levelname)-9s %(name)-10s'
 SUFFIX = ' [%(module)14s:%(lineno)3d] %(message)s'

Modified: trunk/neo/admin/app.py
==============================================================================
--- trunk/neo/admin/app.py [iso-8859-1] (original)
+++ trunk/neo/admin/app.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.node import NodeManager
 from neo.event import EventManager
@@ -68,7 +68,7 @@ class Application(object):
         self.server = config.getBind()
         self.master_addresses = config.getMasters()
 
-        logging.debug('IP address is %s, port is %d', *(self.server))
+        neo.logging.debug('IP address is %s, port is %d', *(self.server))
 
         # The partition table is initialized after getting the number of
         # partitions.
@@ -105,7 +105,7 @@ class Application(object):
                 while True:
                     self.em.poll(1)
             except PrimaryFailure:
-                logging.error('primary master is down')
+                neo.logging.error('primary master is down')
 
 
     def connectToPrimary(self):

Modified: trunk/neo/admin/handler.py
==============================================================================
--- trunk/neo/admin/handler.py [iso-8859-1] (original)
+++ trunk/neo/admin/handler.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.handler import EventHandler
 from neo import protocol
@@ -42,7 +42,7 @@ class AdminEventHandler(EventHandler):
     """This class deals with events for administrating cluster."""
 
     def askPartitionList(self, conn, min_offset, max_offset, uuid):
-        logging.info("ask partition list from %s to %s for %s" %
+        neo.logging.info("ask partition list from %s to %s for %s" %
                 (min_offset, max_offset, dump(uuid)))
         app = self.app
         # check we have one pt otherwise ask it to PMN
@@ -61,7 +61,7 @@ class AdminEventHandler(EventHandler):
 
 
     def askNodeList(self, conn, node_type):
-        logging.info("ask node list for %s" %(node_type))
+        neo.logging.info("ask node list for %s" %(node_type))
         def node_filter(n):
             return n.getType() is node_type
         node_list = self.app.nm.getList(node_filter)
@@ -70,7 +70,7 @@ class AdminEventHandler(EventHandler):
         conn.answer(p)
 
     def setNodeState(self, conn, uuid, state, modify_partition_table):
-        logging.info("set node state for %s-%s" %(dump(uuid), state))
+        neo.logging.info("set node state for %s-%s" %(dump(uuid), state))
         node = self.app.nm.getByUUID(uuid)
         if node is None:
             raise protocol.ProtocolError('invalid uuid')
@@ -144,7 +144,7 @@ class MasterEventHandler(EventHandler):
     def answerNodeInformation(self, conn):
         # XXX: This will no more exists when the initialization module will be
         # implemented for factorize code (as done for bootstrap)
-        logging.debug("answerNodeInformation")
+        neo.logging.debug("answerNodeInformation")
 
     def notifyPartitionChanges(self, conn, ptid, cell_list):
         self.app.pt.update(ptid, cell_list, self.app.nm)
@@ -176,12 +176,12 @@ class MasterRequestEventHandler(EventHan
         client_conn.answer(packet)
 
     def answerClusterState(self, conn, state):
-        logging.info("answerClusterState for a conn")
+        neo.logging.info("answerClusterState for a conn")
         self.app.cluster_state = state
         self._answerNeoCTL(conn, Packets.AnswerClusterState(state))
 
     def answerPartitionTable(self, conn, ptid, row_list):
-        logging.info("answerPartitionTable for a conn")
+        neo.logging.info("answerPartitionTable for a conn")
         client_conn, kw = self.app.dispatcher.pop(conn.getPeerId())
         # sent client the partition table
         self.app.sendPartitionTable(client_conn)

Modified: trunk/neo/bootstrap.py
==============================================================================
--- trunk/neo/bootstrap.py [iso-8859-1] (original)
+++ trunk/neo/bootstrap.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from time import sleep
 
 from neo.handler import EventHandler
@@ -106,7 +106,7 @@ class BootstrapManager(EventHandler):
             conn.close()
             return
 
-        logging.info('connected to a primary master node')
+        neo.logging.info('connected to a primary master node')
         conn.ask(Packets.RequestIdentification(self.node_type,
                 self.uuid, self.server, self.name))
 
@@ -120,7 +120,7 @@ class BootstrapManager(EventHandler):
         if self.uuid != your_uuid:
             # got an uuid from the primary master
             self.uuid = your_uuid
-            logging.info('Got a new UUID : %s' % dump(self.uuid))
+            neo.logging.info('Got a new UUID : %s' % dump(self.uuid))
         conn.setUUID(uuid)
 
     def getPrimaryConnection(self, connector_handler):
@@ -128,7 +128,7 @@ class BootstrapManager(EventHandler):
         Primary lookup/connection process.
         Returns when the connection is made.
         """
-        logging.info('connecting to a primary master node')
+        neo.logging.info('connecting to a primary master node')
         em, nm = self.app.em, self.app.nm
         index = 0
         self.current = nm.getMasterList()[0]

Modified: trunk/neo/client/Storage.py
==============================================================================
--- trunk/neo/client/Storage.py [iso-8859-1] (original)
+++ trunk/neo/client/Storage.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -163,7 +163,7 @@ class Storage(BaseStorage.BaseStorage,
 
     def pack(self, t, referencesf, gc=False):
         if gc:
-            logging.warning('Garbage Collection is not available in NEO, '
+            neo.logging.warning('Garbage Collection is not available in NEO, '
                 'please use an external tool. Packing without GC.')
         self.app.pack(t)
 

Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -29,7 +29,7 @@ from persistent.TimeStamp import TimeSta
 from neo import setupLog
 setupLog('CLIENT', verbose=True)
 
-from neo import logging
+import neo
 from neo.protocol import NodeTypes, Packets, INVALID_PARTITION, ZERO_TID
 from neo.event import EventManager
 from neo.util import makeChecksum as real_makeChecksum, dump
@@ -317,7 +317,7 @@ class Application(object):
         """
             Lookup for the current primary master node
         """
-        logging.debug('connecting to primary master...')
+        neo.logging.debug('connecting to primary master...')
         ready = False
         nm = self.nm
         queue = self.local_var.queue
@@ -349,7 +349,7 @@ class Application(object):
                 # Query for primary master node
                 if conn.getConnector() is None:
                     # This happens if a connection could not be established.
-                    logging.error('Connection to master node %s failed',
+                    neo.logging.error('Connection to master node %s failed',
                                   self.trying_master_node)
                     continue
                 try:
@@ -361,14 +361,15 @@ class Application(object):
                 # If we reached the primary master node, mark as connected
                 connected = self.primary_master_node is not None and \
                         self.primary_master_node is self.trying_master_node
-            logging.info('Connected to %s' % (self.primary_master_node, ))
+            neo.logging.info('Connected to %s' % (self.primary_master_node, ))
             try:
                 ready = self.identifyToPrimaryNode(conn)
             except ConnectionClosed:
-                logging.error('Connection to %s lost', self.trying_master_node)
+                neo.logging.error('Connection to %s lost',
+                    self.trying_master_node)
                 self.primary_master_node = None
                 continue
-        logging.info("Connected and ready")
+        neo.logging.info("Connected and ready")
         return conn
 
     def identifyToPrimaryNode(self, conn):
@@ -377,7 +378,7 @@ class Application(object):
             Might raise ConnectionClosed so that the new primary can be
             looked-up again.
         """
-        logging.info('Initializing from master')
+        neo.logging.info('Initializing from master')
         queue = self.local_var.queue
         # Identify to primary master and request initial data
         while conn.getUUID() is None:
@@ -490,7 +491,7 @@ class Application(object):
         self.local_var.asked_object = 0
         packet = Packets.AskObject(oid, serial, tid)
         for cell in cell_list:
-            logging.debug('trying to load %s at %s before %s from %s',
+            neo.logging.debug('trying to load %s at %s before %s from %s',
                 dump(oid), dump(serial), dump(tid), dump(cell.getUUID()))
             conn = self.cp.getConnForCell(cell)
             if conn is None:
@@ -506,13 +507,13 @@ class Application(object):
                 = self.local_var.asked_object
             if noid != oid:
                 # Oops, try with next node
-                logging.error('got wrong oid %s instead of %s from node %s',
-                              noid, dump(oid), cell.getAddress())
+                neo.logging.error('got wrong oid %s instead of %s from node ' \
+                    '%s', noid, dump(oid), cell.getAddress())
                 self.local_var.asked_object = -1
                 continue
             elif checksum != makeChecksum(data):
                 # Check checksum.
-                logging.error('wrong checksum from node %s for oid %s',
+                neo.logging.error('wrong checksum from node %s for oid %s',
                               cell.getAddress(), dump(oid))
                 self.local_var.asked_object = -1
                 continue
@@ -553,7 +554,7 @@ class Application(object):
             self._cache_lock_acquire()
             try:
                 if oid in self.mq_cache:
-                    logging.debug('load oid %s is cached', dump(oid))
+                    neo.logging.debug('load oid %s is cached', dump(oid))
                     serial, data = self.mq_cache[oid]
                     return data, serial
             finally:
@@ -577,7 +578,7 @@ class Application(object):
     def loadSerial(self, oid, serial):
         """Load an object for a given oid and serial."""
         # Do not try in cache as it manages only up-to-date object
-        logging.debug('loading %s at %s', dump(oid), dump(serial))
+        neo.logging.debug('loading %s at %s', dump(oid), dump(serial))
         return self._load(oid, serial=serial)[0]
 
 
@@ -585,7 +586,7 @@ class Application(object):
     def loadBefore(self, oid, tid):
         """Load an object for a given oid before tid committed."""
         # Do not try in cache as it manages only up-to-date object
-        logging.debug('loading %s before %s', dump(oid), dump(tid))
+        neo.logging.debug('loading %s before %s', dump(oid), dump(tid))
         return self._load(oid, tid=tid)
 
 
@@ -611,7 +612,7 @@ class Application(object):
         """Store object."""
         if transaction is not self.local_var.txn:
             raise StorageTransactionError(self, transaction)
-        logging.debug('storing oid %s serial %s',
+        neo.logging.debug('storing oid %s serial %s',
                      dump(oid), dump(serial))
         self._store(oid, serial, data)
         return None
@@ -699,8 +700,9 @@ class Application(object):
                 new_data = tryToResolveConflict(oid, conflict_serial, serial,
                     data)
                 if new_data is not None:
-                    logging.info('Conflict resolution succeed for %r:%r with %r',
-                        dump(oid), dump(serial), dump(conflict_serial))
+                    neo.logging.info('Conflict resolution succeed for ' \
+                        '%r:%r with %r', dump(oid), dump(serial),
+                        dump(conflict_serial))
                     # Mark this conflict as resolved
                     resolved_serial_set.update(conflict_serial_dict.pop(oid))
                     # Try to store again
@@ -708,10 +710,11 @@ class Application(object):
                     append(oid)
                     resolved = True
                 else:
-                    logging.info('Conflict resolution failed for %r:%r with %r',
-                        dump(oid), dump(serial), dump(conflict_serial))
+                    neo.logging.info('Conflict resolution failed for ' \
+                        '%r:%r with %r', dump(oid), dump(serial),
+                        dump(conflict_serial))
             else:
-                logging.info('Conflict reported for %r:%r with later ' \
+                neo.logging.info('Conflict reported for %r:%r with later ' \
                     'transaction %r , cannot resolve conflict.', dump(oid),
                     dump(serial), dump(conflict_serial))
             if not resolved:
@@ -779,7 +782,7 @@ class Application(object):
             local_var.data_list)
         add_involved_nodes = self.local_var.involved_nodes.add
         for cell in self._getCellListForTID(tid, writable=True):
-            logging.debug("voting object %s %s", cell.getAddress(),
+            neo.logging.debug("voting object %s %s", cell.getAddress(),
                 cell.getState())
             conn = self.cp.getConnForCell(cell)
             if conn is None:
@@ -824,7 +827,7 @@ class Application(object):
             try:
                 conn.notify(p)
             except:
-                logging.error('Exception in tpc_abort while notifying ' \
+                neo.logging.error('Exception in tpc_abort while notifying ' \
                     'storage node %r of abortion, ignoring.', conn, exc_info=1)
 
         # Just wait for responses to arrive. If any leads to an exception,
@@ -837,7 +840,7 @@ class Application(object):
             try:
                 _waitAnyMessage()
             except:
-                logging.error('Exception in tpc_abort while handling ' \
+                neo.logging.error('Exception in tpc_abort while handling ' \
                     'pending answers, ignoring.', exc_info=1)
 
         self.local_var.clear()
@@ -906,7 +909,7 @@ class Application(object):
                 continue
             except NEOStorageNotFoundError:
                 # Tid not found, try with next node
-                logging.warning('Transaction %s was not found on node %s',
+                neo.logging.warning('Transaction %s was not found on node %s',
                     dump(undone_tid), self.nm.getByAddress(conn.getAddress()))
                 continue
 
@@ -1022,7 +1025,7 @@ class Application(object):
             update(tid_list)
         ordered_tids = list(ordered_tids)
         ordered_tids.sort(reverse=True)
-        logging.debug("UndoLog tids %s", [dump(x) for x in ordered_tids])
+        neo.logging.debug("UndoLog tids %s", [dump(x) for x in ordered_tids])
         # For each transaction, get info
         undo_info = []
         append = undo_info.append

Modified: trunk/neo/client/handlers/master.py
==============================================================================
--- trunk/neo/client/handlers/master.py [iso-8859-1] (original)
+++ trunk/neo/client/handlers/master.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.client.handlers import BaseHandler, AnswerBaseHandler
 from neo.pt import MTPartitionTable as PartitionTable
@@ -43,7 +43,7 @@ class PrimaryBootstrapHandler(AnswerBase
         if your_uuid is None:
             raise ProtocolError('No UUID supplied')
         app.uuid = your_uuid
-        logging.info('Got an UUID: %s', dump(app.uuid))
+        neo.logging.info('Got an UUID: %s', dump(app.uuid))
 
         node = app.nm.getByAddress(conn.getAddress())
         conn.setUUID(uuid)
@@ -66,7 +66,7 @@ class PrimaryBootstrapHandler(AnswerBase
             if primary_node is None:
                 # I don't know such a node. Probably this information
                 # is old. So ignore it.
-                logging.warning('Unknown primary master UUID: %s. ' \
+                neo.logging.warning('Unknown primary master UUID: %s. ' \
                                 'Ignoring.' % dump(primary_uuid))
             else:
                 app.primary_master_node = primary_node
@@ -94,7 +94,7 @@ class PrimaryNotificationsHandler(BaseHa
 
     def connectionClosed(self, conn):
         app = self.app
-        logging.critical("connection to primary master node closed")
+        neo.logging.critical("connection to primary master node closed")
         conn.close()
         app.master_conn = None
         app.primary_master_node = None
@@ -104,7 +104,7 @@ class PrimaryNotificationsHandler(BaseHa
         app = self.app
         if app.master_conn is not None:
             assert conn is app.master_conn
-            logging.critical("connection timeout to primary master node " \
+            neo.logging.critical("connection timeout to primary master node " \
                     "expired")
         BaseHandler.timeoutExpired(self, conn)
 
@@ -112,11 +112,11 @@ class PrimaryNotificationsHandler(BaseHa
         app = self.app
         if app.master_conn is not None:
             assert conn is app.master_conn
-            logging.critical("primary master node is broken")
+            neo.logging.critical("primary master node is broken")
         BaseHandler.peerBroken(self, conn)
 
     def stopOperation(self, conn):
-        logging.critical("master node ask to stop operation")
+        neo.logging.critical("master node ask to stop operation")
 
     def invalidateObjects(self, conn, tid, oid_list):
         app = self.app

Modified: trunk/neo/client/handlers/storage.py
==============================================================================
--- trunk/neo/client/handlers/storage.py [iso-8859-1] (original)
+++ trunk/neo/client/handlers/storage.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -18,7 +18,7 @@
 from ZODB.TimeStamp import TimeStamp
 from ZODB.POSException import ConflictError
 
-from neo import logging
+import neo
 from neo.client.handlers import BaseHandler, AnswerBaseHandler
 from neo.protocol import NodeTypes, ProtocolError, LockState
 from neo.util import dump
@@ -74,7 +74,7 @@ class StorageAnswersHandler(AnswerBaseHa
         local_var = self.app.local_var
         object_stored_counter_dict = local_var.object_stored_counter_dict[oid]
         if conflicting:
-            logging.info('%r report a conflict for %r with %r', conn,
+            neo.logging.info('%r report a conflict for %r with %r', conn,
                         dump(oid), dump(serial))
             conflict_serial_dict = local_var.conflict_serial_dict
             if serial in object_stored_counter_dict:
@@ -138,8 +138,8 @@ class StorageAnswersHandler(AnswerBaseHa
             raise ConflictError, 'Lock wait timeout for oid %s on %r' % (
                 dump(oid), conn)
         elif status == LockState.GRANTED:
-            logging.info('Store of oid %s was successful, but after timeout.',
-                dump(oid))
+            neo.logging.info('Store of oid %s was successful, but after ' \
+                'timeout.', dump(oid))
             # XXX: Not sure what to do in this case yet, for now do nothing.
         else:
             # Nobody has the lock, although we asked storage to lock. This

Modified: trunk/neo/client/poll.py
==============================================================================
--- trunk/neo/client/poll.py [iso-8859-1] (original)
+++ trunk/neo/client/poll.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -16,7 +16,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 from threading import Thread, Event
-from neo import logging
+import neo
 
 class ThreadedPoll(Thread):
     """Polling thread."""
@@ -24,7 +24,7 @@ class ThreadedPoll(Thread):
     # Garbage collector hint:
     # Prevent logging module from being garbage-collected as it is needed for
     # run method to cleanly exit.
-    logging = logging
+    neo = neo
 
     def __init__(self, em, **kw):
         Thread.__init__(self, **kw)
@@ -39,8 +39,8 @@ class ThreadedPoll(Thread):
             try:
                 self.em.poll()
             except:
-                self.logging.error('poll raised, retrying', exc_info=1)
-        self.logging.debug('Threaded poll stopped')
+                self.neo.logging.error('poll raised, retrying', exc_info=1)
+        self.neo.logging.debug('Threaded poll stopped')
 
     def stop(self):
         self._stop.set()

Modified: trunk/neo/client/pool.py
==============================================================================
--- trunk/neo/client/pool.py [iso-8859-1] (original)
+++ trunk/neo/client/pool.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -16,7 +16,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 
-from neo import logging
+import neo
 from neo.locking import RLock
 from neo.protocol import NodeTypes, Packets
 from neo.connection import MTClientConnection, ConnectionClosed
@@ -61,7 +61,8 @@ class ConnectionPool(object):
 
         # Loop until a connection is obtained.
         while True:
-            logging.debug('trying to connect to %s - %s', node, node.getState())
+            neo.logging.debug('trying to connect to %s - %s', node,
+                node.getState())
             app.setNodeReady()
             conn = MTClientConnection(app.em,
                 app.storage_event_handler, addr,
@@ -71,7 +72,7 @@ class ConnectionPool(object):
             try:
                 if conn.getConnector() is None:
                     # This happens, if a connection could not be established.
-                    logging.error('Connection to %r failed', node)
+                    neo.logging.error('Connection to %r failed', node)
                     self.notifyFailure(node)
                     return None
 
@@ -85,15 +86,15 @@ class ConnectionPool(object):
                 app._waitMessage(conn, msg_id,
                         handler=app.storage_bootstrap_handler)
             except ConnectionClosed:
-                logging.error('Connection to %r failed', node)
+                neo.logging.error('Connection to %r failed', node)
                 self.notifyFailure(node)
                 return None
 
             if app.isNodeReady():
-                logging.info('Connected %r', node)
+                neo.logging.info('Connected %r', node)
                 return conn
             else:
-                logging.info('%r not ready', node)
+                neo.logging.info('%r not ready', node)
                 self.notifyFailure(node)
                 return None
 
@@ -108,8 +109,8 @@ class ConnectionPool(object):
                         not self.app.dispatcher.registered(conn):
                     del self.connection_dict[conn.getUUID()]
                     conn.close()
-                    logging.debug('_dropConnections : connection to storage ' \
-                            'node %s:%d closed', *(conn.getAddress()))
+                    neo.logging.debug('_dropConnections : connection to ' \
+                        'storage node %s:%d closed', *(conn.getAddress()))
                     if len(self.connection_dict) <= self.max_pool_size:
                         break
             finally:

Modified: trunk/neo/connection.py
==============================================================================
--- trunk/neo/connection.py [iso-8859-1] (original)
+++ trunk/neo/connection.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -17,7 +17,7 @@
 
 from time import time
 
-from neo import logging
+import neo
 from neo.locking import RLock
 
 from neo.protocol import PacketMalformedError, Packets, ParserState
@@ -62,9 +62,9 @@ def lockCheckWrapper(func):
     def wrapper(self, *args, **kw):
         if not self._lock._is_owned():
             import traceback
-            logging.warning('%s called on %s instance without being locked.' \
-                ' Stack:\n%s', func.func_code.co_name, self.__class__.__name__,
-                ''.join(traceback.format_stack()))
+            neo.logging.warning('%s called on %s instance without being ' \
+                'locked. Stack:\n%s', func.func_code.co_name,
+                self.__class__.__name__, ''.join(traceback.format_stack()))
         # Call anyway
         return func(self, *args, **kw)
     return wrapper
@@ -173,7 +173,7 @@ class HandlerSwitcher(object):
         if klass and isinstance(packet, klass) or packet.isError():
             handler.packetReceived(connection, packet)
         else:
-            logging.error('Unexpected answer %r in %r', packet, connection)
+            neo.logging.error('Unexpected answer %r in %r', packet, connection)
             notification = Packets.Notify('Unexpected answer: %r' % packet)
             connection.notify(notification)
             connection.abort()
@@ -181,7 +181,7 @@ class HandlerSwitcher(object):
         # apply a pending handler if no more answers are pending
         while len(self._pending) > 1 and not self._pending[0][0]:
             del self._pending[0]
-            logging.debug('Apply handler %r on %r', self._pending[0][1],
+            neo.logging.debug('Apply handler %r on %r', self._pending[0][1],
                     connection)
         if timeout == self._next_timeout:
             self._updateNextTimeout()
@@ -279,12 +279,12 @@ class BaseConnection(object):
         if handlers.isPending():
             msg_id = handlers.checkTimeout(self, t)
             if msg_id is not None:
-                logging.info('timeout for %r with %r', msg_id, self)
+                neo.logging.info('timeout for %r with %r', msg_id, self)
                 self.close()
                 self.getHandler().timeoutExpired(self)
             elif self._timeout.hardExpired(t):
                 # critical time reach or pong not received, abort
-                logging.info('timeout with %r', self)
+                neo.logging.info('timeout with %r', self)
                 self.notify(Packets.Notify('Timeout'))
                 self.abort()
                 self.getHandler().timeoutExpired(self)
@@ -338,9 +338,9 @@ class BaseConnection(object):
 
     def setHandler(self, handler):
         if self._handlers.setHandler(handler):
-            logging.debug('Set handler %r on %r', handler, self)
+            neo.logging.debug('Set handler %r on %r', handler, self)
         else:
-            logging.debug('Delay handler %r on %r', handler, self)
+            neo.logging.debug('Delay handler %r on %r', handler, self)
 
     def getEventManager(self):
         return self.em
@@ -379,7 +379,7 @@ class ListeningConnection(BaseConnection
     """A listen connection."""
 
     def __init__(self, event_manager, handler, addr, connector, **kw):
-        logging.debug('listening to %s:%d', *addr)
+        neo.logging.debug('listening to %s:%d', *addr)
         BaseConnection.__init__(self, event_manager, handler,
                                 addr=addr, connector=connector)
         self.connector.makeListeningConnection(addr)
@@ -388,7 +388,7 @@ class ListeningConnection(BaseConnection
     def readable(self):
         try:
             new_s, addr = self.connector.getNewConnection()
-            logging.debug('accepted a connection from %s:%d', *addr)
+            neo.logging.debug('accepted a connection from %s:%d', *addr)
             handler = self.getHandler()
             new_conn = ServerConnection(self.getEventManager(), handler,
                 connector=new_s, addr=addr)
@@ -451,7 +451,7 @@ class Connection(BaseConnection):
         return next_id
 
     def close(self):
-        logging.debug('closing a connector for %r', self)
+        neo.logging.debug('closing a connector for %r', self)
         BaseConnection.close(self)
         if self._on_close is not None:
             self._on_close()
@@ -462,7 +462,7 @@ class Connection(BaseConnection):
 
     def abort(self):
         """Abort dealing with this connection."""
-        logging.debug('aborting a connector for %r', self)
+        neo.logging.debug('aborting a connector for %r', self)
         self.aborted = True
 
     def writable(self):
@@ -548,16 +548,17 @@ class Connection(BaseConnection):
         except ConnectorConnectionClosedException:
             # connection resetted by peer, according to the man, this error
             # should not occurs but it seems it's false
-            logging.debug('Connection reset by peer: %r', self.connector)
+            neo.logging.debug('Connection reset by peer: %r', self.connector)
             self._closure()
         except:
-            logging.debug('Unknown connection error: %r', self.connector)
+            neo.logging.debug('Unknown connection error: %r', self.connector)
             self._closure()
             # unhandled connector exception
             raise
         else:
             if not data:
-                logging.debug('Connection %r closed in recv', self.connector)
+                neo.logging.debug('Connection %r closed in recv',
+                    self.connector)
                 self._closure()
                 return
             self.read_buf.append(data)
@@ -574,16 +575,17 @@ class Connection(BaseConnection):
             pass
         except ConnectorConnectionClosedException:
             # connection resetted by peer
-            logging.debug('Connection reset by peer: %r', self.connector)
+            neo.logging.debug('Connection reset by peer: %r', self.connector)
             self._closure()
         except:
-            logging.debug('Unknown connection error: %r', self.connector)
+            neo.logging.debug('Unknown connection error: %r', self.connector)
             # unhandled connector exception
             self._closure()
             raise
         else:
             if not n:
-                logging.debug('Connection %r closed in send', self.connector)
+                neo.logging.debug('Connection %r closed in send',
+                    self.connector)
                 self._closure()
                 return
             if n == len(msg):

Modified: trunk/neo/event.py
==============================================================================
--- trunk/neo/event.py [iso-8859-1] (original)
+++ trunk/neo/event.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -16,7 +16,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 from time import time
-from neo import logging
+import neo
 from neo.epoll import Epoll
 from neo.profiling import profiler_decorator
 
@@ -184,13 +184,14 @@ class EpollEventManager(object):
             self.epoll.modify(fd, fd in self.reader_set, 0)
 
     def log(self):
-        logging.info('Event Manager:')
-        logging.info('  Readers: %r', [x for x in self.reader_set])
-        logging.info('  Writers: %r', [x for x in self.writer_set])
-        logging.info('  Connections:')
+        neo.logging.info('Event Manager:')
+        neo.logging.info('  Readers: %r', [x for x in self.reader_set])
+        neo.logging.info('  Writers: %r', [x for x in self.writer_set])
+        neo.logging.info('  Connections:')
         pending_set = set(self._pending_processing)
         for fd, conn in self.connection_dict.items():
-            logging.info('    %r: %r (pending=%r)', fd, conn, conn in pending_set)
+            neo.logging.info('    %r: %r (pending=%r)', fd, conn,
+                conn in pending_set)
 
 
 # Default to EpollEventManager.

Modified: trunk/neo/handler.py
==============================================================================
--- trunk/neo/handler.py [iso-8859-1] (original)
+++ trunk/neo/handler.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo.protocol import NodeStates, ErrorCodes, Packets, Errors
 from neo.protocol import PacketMalformedError, UnexpectedPacketError, \
         BrokenNodeDisallowedError, NotReadyError, ProtocolError
@@ -40,7 +40,7 @@ class EventHandler(object):
         else:
             message = 'unexpected packet: %s in %s' % (message,
                     self.__class__.__name__)
-        logging.error(message)
+        neo.logging.error(message)
         conn.answer(Errors.ProtocolError(message))
         conn.abort()
         self.peerBroken(conn)
@@ -58,7 +58,7 @@ class EventHandler(object):
         except UnexpectedPacketError, e:
             self.__unexpectedPacket(conn, packet, *e.args)
         except PacketMalformedError:
-            logging.error('malformed packet from %r', conn)
+            neo.logging.error('malformed packet from %r', conn)
             conn.notify(Packets.Notify('Malformed packet: %r' % (packet, )))
             conn.abort()
             self.peerBroken(conn)
@@ -82,7 +82,7 @@ class EventHandler(object):
     def checkClusterName(self, name):
         # raise an exception if the fiven name mismatch the current cluster name
         if self.app.name != name:
-            logging.error('reject an alien cluster')
+            neo.logging.error('reject an alien cluster')
             raise ProtocolError('invalid cluster name')
 
 
@@ -94,32 +94,32 @@ class EventHandler(object):
 
     def connectionStarted(self, conn):
         """Called when a connection is started."""
-        logging.debug('connection started for %r', conn)
+        neo.logging.debug('connection started for %r', conn)
 
     def connectionCompleted(self, conn):
         """Called when a connection is completed."""
-        logging.debug('connection completed for %r', conn)
+        neo.logging.debug('connection completed for %r', conn)
 
     def connectionFailed(self, conn):
         """Called when a connection failed."""
-        logging.debug('connection failed for %r', conn)
+        neo.logging.debug('connection failed for %r', conn)
 
     def connectionAccepted(self, conn):
         """Called when a connection is accepted."""
 
     def timeoutExpired(self, conn):
         """Called when a timeout event occurs."""
-        logging.debug('timeout expired for %r', conn)
+        neo.logging.debug('timeout expired for %r', conn)
         self.connectionLost(conn, NodeStates.TEMPORARILY_DOWN)
 
     def connectionClosed(self, conn):
         """Called when a connection is closed by the peer."""
-        logging.debug('connection closed for %r', conn)
+        neo.logging.debug('connection closed for %r', conn)
         self.connectionLost(conn, NodeStates.TEMPORARILY_DOWN)
 
     def peerBroken(self, conn):
         """Called when a peer is broken."""
-        logging.error('%r is broken', conn)
+        neo.logging.error('%r is broken', conn)
         self.connectionLost(conn, NodeStates.BROKEN)
 
     def connectionLost(self, conn, new_state):
@@ -131,7 +131,7 @@ class EventHandler(object):
     # Packet handlers.
 
     def notify(self, conn, message):
-        logging.info('notification from %r: %s', conn, message)
+        neo.logging.info('notification from %r: %s', conn, message)
 
     def requestIdentification(self, conn, node_type,
                                         uuid, address, name):
@@ -395,16 +395,16 @@ class EventHandler(object):
 
     def protocolError(self, conn, message):
         # the connection should have been closed by the remote peer
-        logging.error('protocol error: %s' % (message,))
+        neo.logging.error('protocol error: %s' % (message,))
 
     def timeoutError(self, conn, message):
-        logging.error('timeout error: %s' % (message,))
+        neo.logging.error('timeout error: %s' % (message,))
 
     def brokenNodeDisallowedError(self, conn, message):
         raise RuntimeError, 'broken node disallowed error: %s' % (message,)
 
     def ack(self, conn, message):
-        logging.debug("no error message : %s" % (message))
+        neo.logging.debug("no error message : %s" % (message))
 
 
     # Fetch tables initialization

Modified: trunk/neo/logger.py
==============================================================================
--- trunk/neo/logger.py [iso-8859-1] (original)
+++ trunk/neo/logger.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,13 +15,13 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo.protocol import PacketMalformedError
 from neo.util import dump
 from neo.handler import EventHandler
 from neo.profiling import profiler_decorator
 
-LOGGER_ENABLED = False
+LOGGER_ENABLED = True
 
 class PacketLogger(object):
     """ Logger at packet level (for debugging purpose) """
@@ -37,7 +37,7 @@ class PacketLogger(object):
         klass = packet.getType()
         uuid = dump(conn.getUUID())
         ip, port = conn.getAddress()
-        logging.debug('#0x%08x %-30s %s %s (%s:%d)', packet.getId(),
+        neo.logging.debug('#0x%08x %-30s %s %s (%s:%d)', packet.getId(),
                 packet.__class__.__name__, direction, uuid, ip, port)
         # look for custom packet logger
         logger = self.packet_dispatch_table.get(klass, None)
@@ -48,11 +48,11 @@ class PacketLogger(object):
         try:
             args = packet.decode() or ()
         except PacketMalformedError:
-            logging.warning("Can't decode packet for logging")
+            neo.logging.warning("Can't decode packet for logging")
             return
         log_message = logger(conn, *args)
         if log_message is not None:
-            logging.debug('#0x%08x %s', packet.getId(), log_message)
+            neo.logging.debug('#0x%08x %s', packet.getId(), log_message)
 
     def error(self, conn, code, message):
         return "%s (%s)" % (code, message)
@@ -64,7 +64,7 @@ class PacketLogger(object):
             else:
                 address = '?'
             node = (dump(uuid), node_type, address, state)
-            logging.debug(' ! %s | %8s | %22s | %s' % node)
+            neo.logging.debug(' ! %s | %8s | %22s | %s' % node)
 
 PACKET_LOGGER = PacketLogger()
 if not LOGGER_ENABLED:

Modified: trunk/neo/master/app.py
==============================================================================
--- trunk/neo/master/app.py [iso-8859-1] (original)
+++ trunk/neo/master/app.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 import os, sys
 from time import time
 
@@ -60,7 +60,7 @@ class Application(object):
         for address in config.getMasters():
             self.nm.createMaster(address=address)
 
-        logging.debug('IP address is %s, port is %d', *(self.server))
+        neo.logging.debug('IP address is %s, port is %d', *(self.server))
 
         # Partition table
         replicas, partitions = config.getReplicas(), config.getPartitions()
@@ -69,10 +69,10 @@ class Application(object):
         if partitions <= 0:
             raise RuntimeError, 'partitions must be more than zero'
         self.pt = PartitionTable(partitions, replicas)
-        logging.info('Configuration:')
-        logging.info('Partitions: %d', partitions)
-        logging.info('Replicas  : %d', replicas)
-        logging.info('Name      : %s', self.name)
+        neo.logging.info('Configuration:')
+        neo.logging.info('Partitions: %d', partitions)
+        neo.logging.info('Replicas  : %d', replicas)
+        neo.logging.info('Name      : %s', self.name)
 
         self.listening_conn = None
         self.primary = None
@@ -105,7 +105,7 @@ class Application(object):
         try:
             self._run()
         except:
-            logging.info('\nPre-mortem informations:')
+            neo.logging.info('\nPre-mortem informations:')
             self.log()
             raise
 
@@ -143,7 +143,7 @@ class Application(object):
         others while attempting to connect to other master nodes at the
         same time. Note that storage nodes and client nodes may connect
         to self as well as master nodes."""
-        logging.info('begin the election of a primary master')
+        neo.logging.info('begin the election of a primary master')
 
         self.unconnected_master_node_set.clear()
         self.negotiating_master_node_set.clear()
@@ -197,7 +197,7 @@ class Application(object):
                 for node in self.nm.getMasterList():
                     if not node.isRunning() and node.getLastStateChange() + \
                             expiration < current_time:
-                        logging.info('%s is down' % (node, ))
+                        neo.logging.info('%s is down' % (node, ))
                         node.setDown()
                         self.unconnected_master_node_set.discard(
                                 node.getAddress())
@@ -220,7 +220,7 @@ class Application(object):
             Broadcast the announce that I'm the primary
         """
         # I am the primary.
-        logging.debug('I am the primary, sending an announcement')
+        neo.logging.debug('I am the primary, sending an announcement')
         for conn in self.em.getClientList():
             conn.notify(Packets.AnnouncePrimary())
             conn.abort()
@@ -237,7 +237,7 @@ class Application(object):
         """
             Ask other masters to reelect a primary after an election failure.
         """
-        logging.error('election failed: %s', (m, ))
+        neo.logging.error('election failed: %s', (m, ))
 
         # Ask all connected nodes to reelect a single primary master.
         for conn in self.em.getClientList():
@@ -286,7 +286,7 @@ class Application(object):
 
     def broadcastPartitionChanges(self, cell_list):
         """Broadcast a Notify Partition Changes packet."""
-        logging.debug('broadcastPartitionChanges')
+        neo.logging.debug('broadcastPartitionChanges')
         if not cell_list:
             return
         self.pt.log()
@@ -304,7 +304,7 @@ class Application(object):
 
     def broadcastLastOID(self):
         oid = self.tm.getLastOID()
-        logging.debug('Broadcast last OID to storages : %s' % dump(oid))
+        neo.logging.debug('Broadcast last OID to storages : %s' % dump(oid))
         packet = Packets.NotifyLastOID(oid)
         for node in self.nm.getStorageList(only_identified=True):
             node.notify(packet)
@@ -315,7 +315,7 @@ class Application(object):
         and stop the service only if a catastrophy happens or the user commits
         a shutdown.
         """
-        logging.info('provide service')
+        neo.logging.info('provide service')
         em = self.em
         self.tm.reset()
 
@@ -328,7 +328,7 @@ class Application(object):
             except OperationFailure:
                 # If not operational, send Stop Operation packets to storage
                 # nodes and client nodes. Abort connections to client nodes.
-                logging.critical('No longer operational, stopping the service')
+                neo.logging.critical('No longer operational')
                 for node in self.nm.getIdentifiedList():
                     if node.isStorage() or node.isClient():
                         node.notify(Packets.StopOperation())
@@ -341,7 +341,7 @@ class Application(object):
                 return
 
     def playPrimaryRole(self):
-        logging.info('play the primary role with %r', self.listening_conn)
+        neo.logging.info('play the primary role with %r', self.listening_conn)
 
         # i'm the primary, send the announcement
         self._announcePrimary()
@@ -378,7 +378,8 @@ class Application(object):
         """
         I play a secondary role, thus only wait for a primary master to fail.
         """
-        logging.info('play the secondary role with %r', self.listening_conn)
+        neo.logging.info('play the secondary role with %r',
+            self.listening_conn)
 
         # Wait for an announcement. If this is too long, probably
         # the primary master is down.
@@ -491,7 +492,7 @@ class Application(object):
             self.em.poll(1)
 
         if self.cluster_state != ClusterStates.RUNNING:
-            logging.info("asking all nodes to shutdown")
+            neo.logging.info("asking all nodes to shutdown")
             # This code sends packets but never polls, so they never reach
             # network.
             for node in self.nm.getIdentifiedList():
@@ -528,7 +529,7 @@ class Application(object):
             # always accept admin nodes
             node_ctor = self.nm.createAdmin
             handler = administration.AdministrationHandler(self)
-            logging.info('Accept an admin %s' % (dump(uuid), ))
+            neo.logging.info('Accept an admin %s' % (dump(uuid), ))
         elif node_type == NodeTypes.MASTER:
             if node is None:
                 # unknown master, rejected
@@ -536,15 +537,15 @@ class Application(object):
             # always put other master in waiting state
             node_ctor = self.nm.createMaster
             handler = secondary.SecondaryMasterHandler(self)
-            logging.info('Accept a master %s' % (dump(uuid), ))
+            neo.logging.info('Accept a master %s' % (dump(uuid), ))
         elif node_type == NodeTypes.CLIENT:
             # refuse any client before running
             if self.cluster_state != ClusterStates.RUNNING:
-                logging.info('Reject a connection from a client')
+                neo.logging.info('Reject a connection from a client')
                 raise protocol.NotReadyError
             node_ctor = self.nm.createClient
             handler = client.ClientServiceHandler(self)
-            logging.info('Accept a client %s' % (dump(uuid), ))
+            neo.logging.info('Accept a client %s' % (dump(uuid), ))
         elif node_type == NodeTypes.STORAGE:
             node_ctor = self.nm.createStorage
             if self._current_manager is not None:
@@ -552,7 +553,7 @@ class Application(object):
                 (uuid, state, handler) = identify(uuid, node)
             else:
                 (uuid, state, handler) = self.identifyStorageNode(uuid, node)
-            logging.info('Accept a storage %s (%s)' % (dump(uuid), state))
+            neo.logging.info('Accept a storage %s (%s)' % (dump(uuid), state))
         return (uuid, node, state, handler, node_ctor)
 
     def setStorageNotReady(self, uuid):

Modified: trunk/neo/master/handlers/__init__.py
==============================================================================
--- trunk/neo/master/handlers/__init__.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/__init__.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.handler import EventHandler
 from neo.protocol import NodeTypes, NodeStates, Packets
@@ -25,7 +25,7 @@ class MasterHandler(EventHandler):
     """This class implements a generic part of the event handlers."""
 
     def protocolError(self, conn, message):
-        logging.error('Protocol error %s %s' % (message, conn.getAddress()))
+        neo.logging.error('Protocol error %s %s', message, conn.getAddress())
 
     def askPrimary(self, conn):
         if conn.getConnector() is None:
@@ -101,7 +101,7 @@ class BaseServiceHandler(MasterHandler):
         if new_state != NodeStates.BROKEN and was_pending:
             # was in pending state, so drop it from the node manager to forget
             # it and do not set in running state when it comes back
-            logging.info('drop a pending node from the node manager')
+            neo.logging.info('drop a pending node from the node manager')
             self.app.nm.remove(node)
         self.app.broadcastNodesInformation([node])
         # clean node related data in specialized handlers

Modified: trunk/neo/master/handlers/administration.py
==============================================================================
--- trunk/neo/master/handlers/administration.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/administration.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.master.handlers import MasterHandler
 from neo.protocol import ClusterStates, NodeStates, Packets, ProtocolError
@@ -63,7 +63,7 @@ class AdministrationHandler(MasterHandle
             self.app.shutdown()
 
     def setNodeState(self, conn, uuid, state, modify_partition_table):
-        logging.info("set node state for %s-%s : %s" %
+        neo.logging.info("set node state for %s-%s : %s" %
                 (dump(uuid), state, modify_partition_table))
         app = self.app
         node = app.nm.getByUUID(uuid)
@@ -119,7 +119,7 @@ class AdministrationHandler(MasterHandle
 
     def addPendingNodes(self, conn, uuid_list):
         uuids = ', '.join([dump(uuid) for uuid in uuid_list])
-        logging.debug('Add nodes %s' % uuids)
+        neo.logging.debug('Add nodes %s' % uuids)
         app, nm, em, pt = self.app, self.app.nm, self.app.em, self.app.pt
         cell_list = []
         uuid_set = set()
@@ -132,11 +132,11 @@ class AdministrationHandler(MasterHandle
             uuid_set = uuid_set.intersection(set(uuid_list))
         # nothing to do
         if not uuid_set:
-            logging.warning('No nodes added')
+            neo.logging.warning('No nodes added')
             conn.answer(Errors.Ack('No nodes added'))
             return
         uuids = ', '.join([dump(uuid) for uuid in uuid_set])
-        logging.info('Adding nodes %s' % uuids)
+        neo.logging.info('Adding nodes %s' % uuids)
         # switch nodes to running state
         node_list = [nm.getByUUID(uuid) for uuid in uuid_set]
         for node in node_list:

Modified: trunk/neo/master/handlers/client.py
==============================================================================
--- trunk/neo/master/handlers/client.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/client.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.protocol import NodeStates, Packets, ProtocolError
 from neo.master.handlers import MasterHandler

Modified: trunk/neo/master/handlers/election.py
==============================================================================
--- trunk/neo/master/handlers/election.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/election.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.protocol import NodeTypes, Packets
 from neo.protocol import NotReadyError, ProtocolError, UnexpectedPacketError
@@ -90,7 +90,7 @@ class ClientElectionHandler(MasterHandle
         node = app.nm.getByAddress(conn.getAddress())
         if node_type != NodeTypes.MASTER:
             # The peer is not a master node!
-            logging.error('%r is not a master node', conn)
+            neo.logging.error('%r is not a master node', conn)
             app.nm.remove(node)
             app.negotiating_master_node_set.discard(node.getAddress())
             conn.close()
@@ -137,7 +137,7 @@ class ClientElectionHandler(MasterHandle
             if primary_node is None:
                 # I don't know such a node. Probably this information
                 # is old. So ignore it.
-                logging.warning('received an unknown primary node UUID')
+                neo.logging.warning('received an unknown primary node UUID')
             else:
                 # Whatever the situation is, I trust this master.
                 app.primary = False
@@ -203,11 +203,11 @@ class ServerElectionHandler(MasterHandle
         self.checkClusterName(name)
         app = self.app
         if node_type != NodeTypes.MASTER:
-            logging.info('reject a connection from a non-master')
+            neo.logging.info('reject a connection from a non-master')
             raise NotReadyError
         node = app.nm.getByAddress(address)
         if node is None:
-            logging.error('unknown master node: %s' % (address, ))
+            neo.logging.error('unknown master node: %s' % (address, ))
             raise ProtocolError('unknown master node')
         # If this node is broken, reject it.
         if node.getUUID() == uuid:
@@ -243,5 +243,5 @@ class ServerElectionHandler(MasterHandle
         app.primary_master_node = node
         app.unconnected_master_node_set.clear()
         app.negotiating_master_node_set.clear()
-        logging.info('%s is the primary', node)
+        neo.logging.info('%s is the primary', node)
 

Modified: trunk/neo/master/handlers/identification.py
==============================================================================
--- trunk/neo/master/handlers/identification.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/identification.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.protocol import NodeTypes, Packets
 from neo.protocol import BrokenNodeDisallowedError, ProtocolError
@@ -25,7 +25,7 @@ class IdentificationHandler(MasterHandle
     """This class deals with messages from the admin node only"""
 
     def nodeLost(self, conn, node):
-        logging.warning('lost a node in IdentificationHandler : %s' % node)
+        neo.logging.warning('lost a node in IdentificationHandler : %s' % node)
 
     def requestIdentification(self, conn, node_type, uuid, address, name):
 

Modified: trunk/neo/master/handlers/shutdown.py
==============================================================================
--- trunk/neo/master/handlers/shutdown.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/shutdown.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo import protocol
 from neo.master.handlers import BaseServiceHandler
 
@@ -24,15 +24,15 @@ class ShutdownHandler(BaseServiceHandler
 
     def requestIdentification(self, conn, node_type,
                                         uuid, address, name):
-        logging.error('reject any new connection')
+        neo.logging.error('reject any new connection')
         raise protocol.ProtocolError('cluster is shutting down')
 
 
     def askPrimary(self, conn):
-        logging.error('reject any new demand for primary master')
+        neo.logging.error('reject any new demand for primary master')
         raise protocol.ProtocolError('cluster is shutting down')
 
     def askBeginTransaction(self, conn, tid):
-        logging.error('reject any new demand for new tid')
+        neo.logging.error('reject any new demand for new tid')
         raise protocol.ProtocolError('cluster is shutting down')
 

Modified: trunk/neo/master/handlers/storage.py
==============================================================================
--- trunk/neo/master/handlers/storage.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/storage.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.protocol import ProtocolError
 from neo.protocol import CellStates, Packets
@@ -39,7 +39,7 @@ class StorageServiceHandler(BaseServiceH
             conn.notify(Packets.StartOperation())
 
     def nodeLost(self, conn, node):
-        logging.info('storage node lost')
+        neo.logging.info('storage node lost')
         assert not node.isRunning(), node.getState()
 
         if not self.app.pt.operational():
@@ -109,7 +109,7 @@ class StorageServiceHandler(BaseServiceH
     def notifyReplicationDone(self, conn, offset):
         uuid = conn.getUUID()
         node = self.app.nm.getByUUID(uuid)
-        logging.debug("node %s is up for offset %s" % (dump(uuid), offset))
+        neo.logging.debug("node %s is up for offset %s" % (dump(uuid), offset))
 
         # check the partition is assigned and known as outdated
         for cell in self.app.pt.getCellList(offset):

Modified: trunk/neo/master/recovery.py
==============================================================================
--- trunk/neo/master/recovery.py [iso-8859-1] (original)
+++ trunk/neo/master/recovery.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -17,7 +17,7 @@
 
 from struct import pack
 
-from neo import logging
+import neo
 from neo.util import dump
 from neo.protocol import Packets, ProtocolError, ClusterStates, NodeStates
 from neo.protocol import NotReadyError, ZERO_OID, ZERO_TID
@@ -43,7 +43,7 @@ class RecoveryManager(MasterHandler):
             Returns the handler for storage nodes
         """
         if uuid is None and not self.app._startup_allowed:
-            logging.info('reject empty storage node')
+            neo.logging.info('reject empty storage node')
             raise NotReadyError
         return (uuid, NodeStates.RUNNING, self)
 
@@ -54,7 +54,7 @@ class RecoveryManager(MasterHandler):
         back the latest partition table or make a new table from scratch,
         if this is the first time.
         """
-        logging.info('begin the recovery of the status')
+        neo.logging.info('begin the recovery of the status')
 
         self.app.changeClusterState(ClusterStates.RECOVERING)
         em = self.app.em
@@ -66,7 +66,7 @@ class RecoveryManager(MasterHandler):
         while not self.app._startup_allowed:
             em.poll(1)
 
-        logging.info('startup allowed')
+        neo.logging.info('startup allowed')
 
         # build a new partition table
         if self.app.pt.getID() is None:
@@ -80,13 +80,14 @@ class RecoveryManager(MasterHandler):
             node.setPending()
         self.app.broadcastNodesInformation(refused_node_set)
 
-        logging.debug('cluster starts with loid=%s and this partition table :',
-                dump(self.app.tm.getLastOID()))
+        neo.logging.debug('cluster starts with loid=%s and this partition ' \
+            'table :', dump(self.app.tm.getLastOID()))
         self.app.pt.log()
 
     def buildFromScratch(self):
         nm, em, pt = self.app.nm, self.app.em, self.app.pt
-        logging.debug('creating a new partition table, wait for a storage node')
+        neo.logging.debug('creating a new partition table, wait for a ' \
+            'storage node')
         # wait for some empty storage nodes, their are accepted
         while len(nm.getStorageList()) < REQUIRED_NODE_NUMBER:
             em.poll(1)
@@ -127,7 +128,7 @@ class RecoveryManager(MasterHandler):
     def answerPartitionTable(self, conn, ptid, row_list):
         if ptid != self.target_ptid:
             # If this is not from a target node, ignore it.
-            logging.warn('Got %s while waiting %s', dump(ptid),
+            neo.logging.warn('Got %s while waiting %s', dump(ptid),
                     dump(self.target_ptid))
             return
         try:

Modified: trunk/neo/master/transactions.py
==============================================================================
--- trunk/neo/master/transactions.py [iso-8859-1] (original)
+++ trunk/neo/master/transactions.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -19,7 +19,7 @@ from time import time, gmtime
 from struct import pack, unpack
 from datetime import timedelta, datetime
 from neo.util import dump
-from neo import logging
+import neo
 
 class Transaction(object):
     """
@@ -269,7 +269,7 @@ class TransactionManager(object):
         del self._node_dict[node]
 
     def log(self):
-        logging.info('Transactions:')
+        neo.logging.info('Transactions:')
         for txn in self._tid_dict.itervalues():
-            logging.info('  %r', txn)
+            neo.logging.info('  %r', txn)
 

Modified: trunk/neo/master/verification.py
==============================================================================
--- trunk/neo/master/verification.py [iso-8859-1] (original)
+++ trunk/neo/master/verification.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo.util import dump
 from neo.protocol import ClusterStates, Packets, NodeStates
 from neo.master.handlers import BaseServiceHandler
@@ -117,11 +117,11 @@ class VerificationManager(BaseServiceHan
         em, nm = self.app.em, self.app.nm
 
         # wait for any missing node
-        logging.debug('waiting for the cluster to be operational')
+        neo.logging.debug('waiting for the cluster to be operational')
         while not self.app.pt.operational():
             em.poll(1)
 
-        logging.info('start to verify data')
+        neo.logging.info('start to verify data')
 
         # Gather all unfinished transactions.
         self._askStorageNodesAndWait(Packets.AskUnfinishedTransactions(),
@@ -196,7 +196,7 @@ class VerificationManager(BaseServiceHan
 
     def answerUnfinishedTransactions(self, conn, tid_list):
         uuid = conn.getUUID()
-        logging.info('got unfinished transactions %s from %r',
+        neo.logging.info('got unfinished transactions %s from %r',
             [dump(tid) for tid in tid_list], conn)
         if not self._gotAnswerFrom(uuid):
             return
@@ -221,19 +221,19 @@ class VerificationManager(BaseServiceHan
 
     def tidNotFound(self, conn, message):
         uuid = conn.getUUID()
-        logging.info('TID not found: %s', message)
+        neo.logging.info('TID not found: %s', message)
         if not self._gotAnswerFrom(uuid):
             return
         self._oid_set = None
 
     def answerObjectPresent(self, conn, oid, tid):
         uuid = conn.getUUID()
-        logging.info('object %s:%s found', dump(oid), dump(tid))
+        neo.logging.info('object %s:%s found', dump(oid), dump(tid))
         self._gotAnswerFrom(uuid)
 
     def oidNotFound(self, conn, message):
         uuid = conn.getUUID()
-        logging.info('OID not found: %s', message)
+        neo.logging.info('OID not found: %s', message)
         app = self.app
         if not self._gotAnswerFrom(uuid):
             return

Modified: trunk/neo/node.py
==============================================================================
--- trunk/neo/node.py [iso-8859-1] (original)
+++ trunk/neo/node.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -17,7 +17,7 @@
 
 from time import time
 
-from neo import logging
+import neo
 from neo.util import dump
 from neo.protocol import NodeTypes, NodeStates
 
@@ -263,7 +263,7 @@ class NodeManager(object):
 
     def add(self, node):
         if node in self._node_set:
-            logging.warning('adding a known node %r, ignoring', node)
+            neo.logging.warning('adding a known node %r, ignoring', node)
             return
         self._node_set.add(node)
         self._updateAddress(node, None)
@@ -274,7 +274,7 @@ class NodeManager(object):
 
     def remove(self, node):
         if node not in self._node_set:
-            logging.warning('removing unknown node %r, ignoring', node)
+            neo.logging.warning('removing unknown node %r, ignoring', node)
             return
         self._node_set.remove(node)
         self.__drop(self._address_dict, node.getAddress())
@@ -446,11 +446,12 @@ class NodeManager(object):
             log_args = (node_type, dump(uuid), addr, state)
             if node is None:
                 if state == NodeStates.DOWN:
-                    logging.debug('NOT creating node %s %s %s %s', *log_args)
+                    neo.logging.debug('NOT creating node %s %s %s %s',
+                        *log_args)
                 else:
                     node = self._createNode(klass, address=addr, uuid=uuid,
                             state=state)
-                    logging.debug('creating node %r', node)
+                    neo.logging.debug('creating node %r', node)
             else:
                 assert isinstance(node, klass), 'node %r is not ' \
                     'of expected type: %r' % (node, klass)
@@ -459,14 +460,14 @@ class NodeManager(object):
                     'Discrepancy between node_by_uuid (%r) and ' \
                     'node_by_addr (%r)' % (node_by_uuid, node_by_addr)
                 if state == NodeStates.DOWN:
-                    logging.debug('droping node %r (%r), found with %s %s %s %s',
-                        node, node.isConnected(), *log_args)
+                    neo.logging.debug('droping node %r (%r), found with %s ' \
+                        '%s %s %s', node, node.isConnected(), *log_args)
                     if node.isConnected():
                         # cut this connection, node removed by handler
                         node.getConnection().close()
                     self.remove(node)
                 else:
-                    logging.debug('updating node %r to %s %s %s %s',
+                    neo.logging.debug('updating node %r to %s %s %s %s',
                         node, *log_args)
                     node.setUUID(uuid)
                     node.setAddress(addr)
@@ -474,12 +475,12 @@ class NodeManager(object):
         self.log()
 
     def log(self):
-        logging.info('Node manager : %d nodes' % len(self._node_set))
+        neo.logging.info('Node manager : %d nodes' % len(self._node_set))
         for node in sorted(list(self._node_set)):
             uuid = dump(node.getUUID()) or '-' * 32
             address = node.getAddress() or ''
             if address:
                 address = '%s:%d' % address
-            logging.info(' * %32s | %8s | %22s | %s' % (
+            neo.logging.info(' * %32s | %8s | %22s | %s' % (
                 uuid, node.getType(), address, node.getState()))
 

Modified: trunk/neo/pt.py
==============================================================================
--- trunk/neo/pt.py [iso-8859-1] (original)
+++ trunk/neo/pt.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo import protocol
 from neo.protocol import CellStates
@@ -205,7 +205,7 @@ class PartitionTable(object):
                 # the node must be known by the node manager
                 assert node is not None
                 self.setCell(offset, node, state)
-        logging.debug('partition table loaded')
+        neo.logging.debug('partition table loaded')
         self.log()
 
     def update(self, ptid, cell_list, nm):
@@ -215,14 +215,14 @@ class PartitionTable(object):
         is not known, it is created in the node manager and set as unavailable
         """
         if ptid <= self._id:
-            logging.warning('ignoring older partition changes')
+            neo.logging.warning('ignoring older partition changes')
             return
         self._id = ptid
         for offset, uuid, state in cell_list:
             node = nm.getByUUID(uuid)
             assert node is not None, 'No node found for uuid %r' % (dump(uuid), )
             self.setCell(offset, node, state)
-        logging.debug('partition table updated')
+        neo.logging.debug('partition table updated')
         self.log()
 
     def filled(self):
@@ -230,7 +230,7 @@ class PartitionTable(object):
 
     def log(self):
         for line in self._format():
-            logging.debug(line)
+            neo.logging.debug(line)
 
     def format(self):
         return '\n'.join(self._format())

Modified: trunk/neo/storage/app.py
==============================================================================
--- trunk/neo/storage/app.py [iso-8859-1] (original)
+++ trunk/neo/storage/app.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 import sys
 from collections import deque
 
@@ -58,7 +58,7 @@ class Application(object):
 
         # set the bind address
         self.server = config.getBind()
-        logging.debug('IP address is %s, port is %d', *(self.server))
+        neo.logging.debug('IP address is %s, port is %d', *(self.server))
 
         # The partition table is initialized after getting the number of
         # partitions.
@@ -126,12 +126,12 @@ class Application(object):
             # create a partition table
             self.pt = PartitionTable(num_partitions, num_replicas)
 
-        logging.info('Configuration loaded:')
-        logging.info('UUID      : %s', dump(self.uuid))
-        logging.info('PTID      : %s', dump(ptid))
-        logging.info('Name      : %s', self.name)
-        logging.info('Partitions: %s', num_partitions)
-        logging.info('Replicas  : %s', num_replicas)
+        neo.logging.info('Configuration loaded:')
+        neo.logging.info('UUID      : %s', dump(self.uuid))
+        neo.logging.info('PTID      : %s', dump(ptid))
+        neo.logging.info('Name      : %s', self.name)
+        neo.logging.info('Partitions: %s', num_partitions)
+        neo.logging.info('Replicas  : %s', num_replicas)
 
     def loadPartitionTable(self):
         """Load a partition table from the database."""
@@ -156,7 +156,7 @@ class Application(object):
         try:
             self._run()
         except:
-            logging.info('\nPre-mortem informations:')
+            neo.logging.info('\nPre-mortem informations:')
             self.log()
             raise
 
@@ -196,9 +196,9 @@ class Application(object):
                 self.doOperation()
                 raise RuntimeError, 'should not reach here'
             except OperationFailure, msg:
-                logging.error('operation stopped: %s', msg)
+                neo.logging.error('operation stopped: %s', msg)
             except PrimaryFailure, msg:
-                logging.error('primary master is down: %s', msg)
+                neo.logging.error('primary master is down: %s', msg)
                 self.master_node = None
 
     def connectToPrimary(self):
@@ -223,7 +223,7 @@ class Application(object):
         (node, conn, uuid, num_partitions, num_replicas) = data
         self.master_node = node
         self.master_conn = conn
-        logging.info('I am %s', dump(uuid))
+        neo.logging.info('I am %s', dump(uuid))
         self.uuid = uuid
         self.dm.setUUID(uuid)
 
@@ -245,7 +245,7 @@ class Application(object):
     def verifyData(self):
         """Verify data under the control by a primary master node.
         Connections from client nodes may not be accepted at this stage."""
-        logging.info('verifying data')
+        neo.logging.info('verifying data')
 
         handler = verification.VerificationHandler(self)
         self.master_conn.setHandler(handler)
@@ -256,7 +256,7 @@ class Application(object):
 
     def initialize(self):
         """ Retreive partition table and node informations from the primary """
-        logging.debug('initializing...')
+        neo.logging.debug('initializing...')
         handler = initialization.InitializationHandler(self)
         self.master_conn.setHandler(handler)
 
@@ -276,7 +276,7 @@ class Application(object):
 
     def doOperation(self):
         """Handle everything, including replications and transactions."""
-        logging.info('doing operation')
+        neo.logging.info('doing operation')
 
         em = self.em
 
@@ -302,7 +302,7 @@ class Application(object):
 
     def wait(self):
         # change handler
-        logging.info("waiting in hidden state")
+        neo.logging.info("waiting in hidden state")
         handler = hidden.HiddenHandler(self)
         for conn in self.em.getConnectionList():
             conn.setHandler(handler)
@@ -330,11 +330,11 @@ class Application(object):
     def logQueuedEvents(self):
         if self.event_queue is None:
             return
-        logging.info("Pending events:")
+        neo.logging.info("Pending events:")
         for event, _msg_id, _conn, args, _kwargs in self.event_queue:
             oid, serial, _compression, _checksum, data, tid, time = args
-            logging.info('  %r: %r:%r by %r -> %r (%r)', event.__name__, dump(oid),
-                    dump(serial), dump(tid), data, time)
+            neo.logging.info('  %r: %r:%r by %r -> %r (%r)', event.__name__,
+                dump(oid), dump(serial), dump(tid), data, time)
 
     def shutdown(self, erase=False):
         """Close all connections and exit"""

Modified: trunk/neo/storage/database/mysqldb.py
==============================================================================
--- trunk/neo/storage/database/mysqldb.py [iso-8859-1] (original)
+++ trunk/neo/storage/database/mysqldb.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -18,7 +18,7 @@
 import MySQLdb
 from MySQLdb import OperationalError
 from MySQLdb.constants.CR import SERVER_GONE_ERROR, SERVER_LOST
-from neo import logging
+import neo
 from array import array
 import string
 
@@ -68,7 +68,7 @@ class MySQLDatabaseManager(DatabaseManag
         kwd = {'db' : self.db, 'user' : self.user}
         if self.passwd is not None:
             kwd['passwd'] = self.passwd
-        logging.info('connecting to MySQL on the database %s with user %s',
+        neo.logging.info('connecting to MySQL on the database %s with user %s',
                      self.db, self.user)
         self.conn = MySQLdb.connect(**kwd)
         self.conn.autocommit(False)
@@ -78,12 +78,12 @@ class MySQLDatabaseManager(DatabaseManag
 
     def _commit(self):
         if LOG_QUERIES:
-            logging.debug('committing...')
+            neo.logging.debug('committing...')
         self.conn.commit()
 
     def _rollback(self):
         if LOG_QUERIES:
-            logging.debug('aborting...')
+            neo.logging.debug('aborting...')
         self.conn.rollback()
 
     def query(self, query):
@@ -97,7 +97,7 @@ class MySQLDatabaseManager(DatabaseManag
                         c = '\\x%02x' % ord(c)
                     printable_char_list.append(c)
                 query_part = ''.join(printable_char_list)
-                logging.debug('querying %s...', query_part)
+                neo.logging.debug('querying %s...', query_part)
 
             conn.query(query)
             r = conn.store_result()
@@ -114,7 +114,7 @@ class MySQLDatabaseManager(DatabaseManag
 
         except OperationalError, m:
             if m[0] in (SERVER_GONE_ERROR, SERVER_LOST):
-                logging.info('the MySQL server is gone; reconnecting')
+                neo.logging.info('the MySQL server is gone; reconnecting')
                 self._connect()
                 return self.query(query)
             raise DatabaseFailure('MySQL error %d: %s' % (m[0], m[1]))
@@ -303,7 +303,7 @@ class MySQLDatabaseManager(DatabaseManag
             })
         compression, checksum, value, next_value_serial = r[0]
         if value is None:
-            logging.info("Multiple levels of indirection when " \
+            neo.logging.info("Multiple levels of indirection when " \
                 "searching for object data for oid %d at tid %d. This " \
                 "causes suboptimal performance." % (oid, value_serial))
             value_serial, compression, checksum, value = self._getObjectData(
@@ -574,7 +574,7 @@ class MySQLDatabaseManager(DatabaseManag
             (self._getPartition(oid), oid, value_serial))
         length, value_serial = r[0]
         if length is None:
-            logging.info("Multiple levels of indirection when " \
+            neo.logging.info("Multiple levels of indirection when " \
                 "searching for object data for oid %d at tid %d. This " \
                 "causes suboptimal performance." % (oid, value_serial))
             length = self._getObjectLength(oid, value_serial)

Modified: trunk/neo/storage/handlers/__init__.py
==============================================================================
--- trunk/neo/storage/handlers/__init__.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/__init__.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.handler import EventHandler
 from neo import protocol
@@ -35,7 +35,7 @@ class BaseMasterHandler(EventHandler):
         raise PrimaryFailure('re-election occurs')
 
     def notifyClusterInformation(self, conn, state):
-        logging.warning('ignoring notify cluster information in %s' %
+        neo.logging.warning('ignoring notify cluster information in %s' %
                 self.__class__.__name__)
 
     def notifyLastOID(self, conn, oid):
@@ -48,7 +48,7 @@ class BaseMasterHandler(EventHandler):
         for node_type, addr, uuid, state in node_list:
             if uuid == self.app.uuid:
                 # This is me, do what the master tell me
-                logging.info("I was told I'm %s" %(state))
+                neo.logging.info("I was told I'm %s" %(state))
                 if state in (NodeStates.DOWN, NodeStates.TEMPORARILY_DOWN,
                         NodeStates.BROKEN):
                     conn.close()
@@ -57,7 +57,7 @@ class BaseMasterHandler(EventHandler):
                 elif state == NodeStates.HIDDEN:
                     raise OperationFailure
             elif node_type == NodeTypes.CLIENT and state != NodeStates.RUNNING:
-                logging.info('Notified of non-running client, abort (%r)',
+                neo.logging.info('Notified of non-running client, abort (%r)',
                         dump(uuid))
                 self.app.tm.abortFor(uuid)
 
@@ -86,14 +86,14 @@ class BaseClientAndStorageOperationHandl
             return
         o = self._askObject(oid, serial, tid)
         if o is None:
-            logging.debug('oid = %s does not exist', dump(oid))
+            neo.logging.debug('oid = %s does not exist', dump(oid))
             p = Errors.OidDoesNotExist(dump(oid))
         elif o is False:
-            logging.debug('oid = %s not found', dump(oid))
+            neo.logging.debug('oid = %s not found', dump(oid))
             p = Errors.OidNotFound(dump(oid))
         else:
             serial, next_serial, compression, checksum, data, data_serial = o
-            logging.debug('oid = %s, serial = %s, next_serial = %s',
+            neo.logging.debug('oid = %s, serial = %s, next_serial = %s',
                           dump(oid), dump(serial), dump(next_serial))
             p = Packets.AnswerObject(oid, serial, next_serial,
                 compression, checksum, data, data_serial)

Modified: trunk/neo/storage/handlers/client.py
==============================================================================
--- trunk/neo/storage/handlers/client.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/client.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo import protocol
 from neo.util import dump
 from neo.protocol import Packets, LockState, Errors
@@ -50,7 +50,7 @@ class ClientOperationHandler(BaseClientA
             data_serial, tid, request_time):
         if tid not in self.app.tm:
             # transaction was aborted, cancel this event
-            logging.info('Forget store of %s:%s by %s delayed by %s',
+            neo.logging.info('Forget store of %s:%s by %s delayed by %s',
                     dump(oid), dump(serial), dump(tid),
                     dump(self.app.tm.getLockingTID(oid)))
             # send an answer as the client side is waiting for it
@@ -71,7 +71,7 @@ class ClientOperationHandler(BaseClientA
             if SLOW_STORE is not None:
                 duration = time.time() - request_time
                 if duration > SLOW_STORE:
-                    logging.info('StoreObject delay: %.02fs', duration)
+                    neo.logging.info('StoreObject delay: %.02fs', duration)
             conn.answer(Packets.AnswerStoreObject(0, oid, serial))
 
     def askStoreObject(self, conn, oid, serial,
@@ -120,7 +120,7 @@ class ClientOperationHandler(BaseClientA
 
     def askHasLock(self, conn, tid, oid):
         locking_tid = self.app.tm.getLockingTID(oid)
-        logging.info('%r check lock of %r:%r', conn, dump(tid), dump(oid))
+        neo.logging.info('%r check lock of %r:%r', conn, dump(tid), dump(oid))
         if locking_tid is None:
             state = LockState.NOT_LOCKED
         elif locking_tid is tid:

Modified: trunk/neo/storage/handlers/hidden.py
==============================================================================
--- trunk/neo/storage/handlers/hidden.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/hidden.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.storage.handlers import BaseMasterHandler
 from neo.protocol import CellStates
@@ -29,7 +29,7 @@ class HiddenHandler(BaseMasterHandler):
         app = self.app
         if ptid <= app.pt.getID():
             # Ignore this packet.
-            logging.debug('ignoring older partition changes')
+            neo.logging.debug('ignoring older partition changes')
             return
 
         # update partition table in memory and the database

Modified: trunk/neo/storage/handlers/identification.py
==============================================================================
--- trunk/neo/storage/handlers/identification.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/identification.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.handler import EventHandler
 from neo.protocol import NodeTypes, Packets, NotReadyError
@@ -26,7 +26,7 @@ class IdentificationHandler(EventHandler
     """ Handler used for incoming connections during operation state """
 
     def connectionLost(self, conn, new_state):
-        logging.warning('A connection was lost during identification')
+        neo.logging.warning('A connection was lost during identification')
 
     def requestIdentification(self, conn, node_type,
                                         uuid, address, name):
@@ -54,7 +54,8 @@ class IdentificationHandler(EventHandler
             from neo.storage.handlers.storage import StorageOperationHandler
             handler = StorageOperationHandler
             if node is None:
-                logging.error('reject an unknown storage node %s', dump(uuid))
+                neo.logging.error('reject an unknown storage node %s',
+                    dump(uuid))
                 raise NotReadyError
         else:
             raise ProtocolError('reject non-client-or-storage node')

Modified: trunk/neo/storage/handlers/initialization.py
==============================================================================
--- trunk/neo/storage/handlers/initialization.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/initialization.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.storage.handlers import BaseMasterHandler
 from neo import protocol
@@ -35,7 +35,7 @@ class InitializationHandler(BaseMasterHa
         pt.load(ptid, row_list, self.app.nm)
         if not pt.filled():
             raise protocol.ProtocolError('Partial partition table received')
-        logging.debug('Got the partition table :')
+        neo.logging.debug('Got the partition table :')
         self.app.pt.log()
         # Install the partition table into the database for persistency.
         cell_list = []
@@ -48,7 +48,7 @@ class InitializationHandler(BaseMasterHa
                     unassigned_set.remove(offset)
         # delete objects database
         if unassigned_set:
-            logging.debug('drop data for partitions %r' % unassigned_set)
+            neo.logging.debug('drop data for partitions %r' % unassigned_set)
             app.dm.dropPartitions(num_partitions, unassigned_set)
 
         app.dm.setPartitionTable(ptid, cell_list)
@@ -66,4 +66,5 @@ class InitializationHandler(BaseMasterHa
         #   packets in between (or even before asking for node information).
         # - this handler will be changed after receiving answerPartitionTable
         #   and before handling the next packet
-        logging.debug('ignoring notifyPartitionChanges during initialization')
+        neo.logging.debug('ignoring notifyPartitionChanges during '\
+            'initialization')

Modified: trunk/neo/storage/handlers/master.py
==============================================================================
--- trunk/neo/storage/handlers/master.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/master.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from neo.util import dump
 from neo.protocol import CellStates, Packets, ProtocolError
 from neo.storage.handlers import BaseMasterHandler
@@ -36,7 +36,7 @@ class MasterOperationHandler(BaseMasterH
         app = self.app
         if ptid <= app.pt.getID():
             # Ignore this packet.
-            logging.debug('ignoring older partition changes')
+            neo.logging.debug('ignoring older partition changes')
             return
 
         # update partition table in memory and the database
@@ -67,8 +67,8 @@ class MasterOperationHandler(BaseMasterH
 
     def askPack(self, conn, tid):
         app = self.app
-        logging.info('Pack started, up to %s...', dump(tid))
+        neo.logging.info('Pack started, up to %s...', dump(tid))
         app.dm.pack(tid, app.tm.updateObjectDataForPack)
-        logging.info('Pack finished.')
+        neo.logging.info('Pack finished.')
         conn.answer(Packets.AnswerPack(True))
 

Modified: trunk/neo/storage/handlers/replication.py
==============================================================================
--- trunk/neo/storage/handlers/replication.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/replication.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -16,7 +16,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.handler import EventHandler
 from neo.protocol import Packets, ZERO_TID, ZERO_OID
@@ -82,11 +82,11 @@ class ReplicationHandler(EventHandler):
     """This class handles events for replications."""
 
     def connectionLost(self, conn, new_state):
-        logging.error('replication is stopped due to a connection lost')
+        neo.logging.error('replication is stopped due to a connection lost')
         self.app.replicator.reset()
 
     def connectionFailed(self, conn):
-        logging.error('replication is stopped due to connection failure')
+        neo.logging.error('replication is stopped due to connection failure')
         self.app.replicator.reset()
 
     def acceptIdentification(self, conn, node_type,

Modified: trunk/neo/storage/handlers/verification.py
==============================================================================
--- trunk/neo/storage/handlers/verification.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/verification.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 
 from neo.storage.handlers import BaseMasterHandler
 from neo.protocol import Packets, Errors, ProtocolError
@@ -48,7 +48,7 @@ class VerificationHandler(BaseMasterHand
         app = self.app
         if ptid <= app.pt.getID():
             # Ignore this packet.
-            logging.debug('ignoring older partition changes')
+            neo.logging.debug('ignoring older partition changes')
             return
         # update partition table in memory and the database
         app.pt.update(ptid, cell_list, app.nm)

Modified: trunk/neo/storage/replicator.py
==============================================================================
--- trunk/neo/storage/replicator.py [iso-8859-1] (original)
+++ trunk/neo/storage/replicator.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from neo import logging
+import neo
 from random import choice
 
 from neo.storage.handlers import replication
@@ -209,10 +209,10 @@ class Replicator(object):
         try:
             partition_list = self.critical_tid_dict.pop(uuid)
         except KeyError:
-            logging.debug("setCriticalTID raised KeyError for %s" %
+            neo.logging.debug("setCriticalTID raised KeyError for %s" %
                     (dump(uuid), ))
         else:
-            logging.debug('setting critical TID %s to %s', dump(tid),
+            neo.logging.debug('setting critical TID %s to %s', dump(tid),
                          ', '.join([str(p.getRID()) for p in partition_list]))
             for partition in partition_list:
                 partition.setCriticalTID(tid)
@@ -227,7 +227,7 @@ class Replicator(object):
 
     def setUnfinishedTIDList(self, tid_list):
         """This is a callback from MasterOperationHandler."""
-        logging.debug('setting unfinished TIDs %s',
+        neo.logging.debug('setting unfinished TIDs %s',
                       ','.join([dump(tid) for tid in tid_list]))
         self.waiting_for_unfinished_tids = False
         self.unfinished_tid_list = tid_list
@@ -248,13 +248,13 @@ class Replicator(object):
             node = choice(node_list)
         except IndexError:
             # Not operational.
-            logging.error('not operational', exc_info = 1)
+            neo.logging.error('not operational', exc_info = 1)
             self.current_partition = None
             return
 
         addr = node.getAddress()
         if addr is None:
-            logging.error("no address known for the selected node %s" %
+            neo.logging.error("no address known for the selected node %s" %
                     (dump(node.getUUID()), ))
             return
         if self.current_connection is not None:
@@ -302,19 +302,19 @@ class Replicator(object):
             if self.replication_done and \
                     not self.current_connection.isPending():
                 # finish a replication
-                logging.info('replication is done for %s' %
+                neo.logging.info('replication is done for %s' %
                         (self.current_partition.getRID(), ))
                 self._finishReplication()
             return
 
         if self.waiting_for_unfinished_tids:
             # Still waiting.
-            logging.debug('waiting for unfinished tids')
+            neo.logging.debug('waiting for unfinished tids')
             return
 
         if self.unfinished_tid_list is None:
             # Ask pending transactions.
-            logging.debug('asking unfinished tids')
+            neo.logging.debug('asking unfinished tids')
             self._askUnfinishedTIDs()
             return
 
@@ -330,7 +330,7 @@ class Replicator(object):
         else:
             # Not yet.
             self.unfinished_tid_list = None
-            logging.debug('not ready yet')
+            neo.logging.debug('not ready yet')
             return
 
         self._startReplication()

Modified: trunk/neo/storage/transactions.py
==============================================================================
--- trunk/neo/storage/transactions.py [iso-8859-1] (original)
+++ trunk/neo/storage/transactions.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -16,7 +16,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 from time import time
-from neo import logging
+import neo
 from neo.util import dump
 
 
@@ -199,27 +199,27 @@ class TransactionManager(object):
         # check if the object if locked
         locking_tid = self._store_lock_dict.get(oid)
         if locking_tid == tid:
-            logging.info('Transaction %s storing %s more than once', dump(tid),
-                dump(oid))
+            neo.logging.info('Transaction %s storing %s more than once',
+                dump(tid), dump(oid))
         elif locking_tid is None:
             # check if this is generated from the latest revision.
             history_list = self._app.dm.getObjectHistory(oid)
             if history_list and history_list[0][0] != serial:
-                logging.info('Resolvable conflict on %r:%r', dump(oid),
+                neo.logging.info('Resolvable conflict on %r:%r', dump(oid),
                         dump(tid))
                 raise ConflictError(history_list[0][0])
-            logging.info('Transaction %s storing %s', dump(tid), dump(oid))
+            neo.logging.info('Transaction %s storing %s', dump(tid), dump(oid))
             self._store_lock_dict[oid] = tid
         elif locking_tid < tid:
             # a previous transaction lock this object, retry later
-            logging.info('Store delayed for %r:%r by %r', dump(oid),
+            neo.logging.info('Store delayed for %r:%r by %r', dump(oid),
                     dump(tid), dump(locking_tid))
             raise DelayedError
         else:
             # If a newer transaction already locks this object,
             # do not try to resolve a conflict, so return immediately.
-            logging.info('Unresolvable conflict on %r:%r with %r', dump(oid),
-                    dump(tid), dump(locking_tid))
+            neo.logging.info('Unresolvable conflict on %r:%r with %r',
+                dump(oid), dump(tid), dump(locking_tid))
             raise ConflictError(locking_tid)
 
         # store object
@@ -275,15 +275,15 @@ class TransactionManager(object):
         return oid in self._load_lock_dict
 
     def log(self):
-        logging.info("Transactions:")
+        neo.logging.info("Transactions:")
         for txn in self._transaction_dict.values():
-            logging.info('    %r', txn)
-        logging.info('  Read locks:')
+            neo.logging.info('    %r', txn)
+        neo.logging.info('  Read locks:')
         for oid, tid in self._load_lock_dict.items():
-            logging.info('    %r by %r', dump(oid), dump(tid))
-        logging.info('  Write locks:')
+            neo.logging.info('    %r by %r', dump(oid), dump(tid))
+        neo.logging.info('  Write locks:')
         for oid, tid in self._store_lock_dict.items():
-            logging.info('    %r by %r', dump(oid), dump(tid))
+            neo.logging.info('    %r by %r', dump(oid), dump(tid))
 
     def updateObjectDataForPack(self, oid, orig_serial, new_serial,
             getObjectData):

Modified: trunk/neo/tests/__init__.py
==============================================================================
--- trunk/neo/tests/__init__.py [iso-8859-1] (original)
+++ trunk/neo/tests/__init__.py [iso-8859-1] Sat Oct 30 00:11:53 2010
@@ -20,7 +20,7 @@ import random
 import unittest
 import tempfile
 import MySQLdb
-from neo import logging
+import neo
 from mock import Mock
 from neo import protocol
 from neo.protocol import Packets
@@ -394,7 +394,7 @@ connector_cpt = 0
 
 class DoNothingConnector(Mock):
     def __init__(self, s=None):
-        logging.info("initializing connector")
+        neo.logging.info("initializing connector")
         self.desc = globals()['connector_cpt']
         globals()['connector_cpt'] = globals()['connector_cpt']+ 1
         self.packet_cpt = 0





More information about the Neo-report mailing list