[Checkins]
SVN: gocept.zeoraid/branches/distributed-remote-calls/src/gocept/zeoraid/storage.py
Patch to seed a custom random number generator to ensure randomness
Dirceu Pereira Tiegs
dirceutiegs at gmail.com
Wed Jun 18 17:46:16 EDT 2008
Log message for revision 87534:
Patch to seed a custom random number generator to ensure randomness
Changed:
U gocept.zeoraid/branches/distributed-remote-calls/src/gocept/zeoraid/storage.py
-=-
Modified: gocept.zeoraid/branches/distributed-remote-calls/src/gocept/zeoraid/storage.py
===================================================================
--- gocept.zeoraid/branches/distributed-remote-calls/src/gocept/zeoraid/storage.py 2008-06-18 17:38:20 UTC (rev 87533)
+++ gocept.zeoraid/branches/distributed-remote-calls/src/gocept/zeoraid/storage.py 2008-06-18 21:46:07 UTC (rev 87534)
@@ -150,6 +150,11 @@
# No storage is recovering initially
self.storage_recovering = None
+ # Seed a custom random number generator used for distributing requests among storages
+ self._rng = random.Random()
+ t = TimeStamp(*time.gmtime(time.time())[:5])
+ self._rng.seed(t)
+
# IStorage
def close(self):
@@ -621,7 +626,7 @@
while not reliable:
if not storages:
break
- name = random.choice(storages)
+ name = self._rng.choice(storages)
storages.remove(name)
reliable, result = self.__apply_storage(
name, method_name, args, kw)
More information about the Checkins
mailing list