You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2011/02/17 21:52:02 UTC

svn commit: r1071778 - in /cassandra/branches/cassandra-0.7: CHANGES.txt contrib/py_stress/stress.py

Author: brandonwilliams
Date: Thu Feb 17 20:52:02 2011
New Revision: 1071778

URL: http://svn.apache.org/viewvc?rev=1071778&view=rev
Log:
Make py_stress key format global.
Patch by Matthew Dennis, reviewed by brandonwilliams for CASSANDRA-2108.

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    cassandra/branches/cassandra-0.7/contrib/py_stress/stress.py

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1071778&r1=1071777&r2=1071778&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Feb 17 20:52:02 2011
@@ -5,6 +5,7 @@
  * fixes for cache save/load (CASSANDRA-2172, -2174)
  * Handle whole-row deletions in CFOutputFormat (CASSANDRA-2014)
  * Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
+ * refactor stress.py to have only one copy of the format string used for creating row keys (CASSANDRA-2108)
 
 
 0.7.2

Modified: cassandra/branches/cassandra-0.7/contrib/py_stress/stress.py
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/py_stress/stress.py?rev=1071778&r1=1071777&r2=1071778&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/contrib/py_stress/stress.py (original)
+++ cassandra/branches/cassandra-0.7/contrib/py_stress/stress.py Thu Feb 17 20:52:02 2011
@@ -127,6 +127,9 @@ if options.nodefile != None:
     with open(options.nodefile) as f:
         nodes = [n.strip() for n in f.readlines() if len(n.strip()) > 0]
 
+#format string for keys
+fmt = '%0' + str(len(str(total_keys))) + 'd'
+
 # a generator that generates all keys according to a bell curve centered
 # around the middle of the keys generated (0..total_keys).  Remember that
 # about 68% of keys will be within stdev away from the mean and 
@@ -148,7 +151,6 @@ def generate_values():
     return values
 
 def key_generator_gauss():
-    fmt = '%0' + str(len(str(total_keys))) + 'd'
     while True:
         guess = gauss(mean, stdev)
         if 0 <= guess < total_keys:
@@ -157,7 +159,6 @@ def key_generator_gauss():
 # a generator that will generate all keys w/ equal probability.  this is the
 # worst case for caching.
 def key_generator_random():
-    fmt = '%0' + str(len(str(total_keys))) + 'd'
     return fmt % randint(0, total_keys - 1)
 
 key_generator = key_generator_gauss
@@ -220,7 +221,6 @@ class Inserter(Operation):
     def run(self):
         values = generate_values()
         columns = [Column('C' + str(j), 'unset', time.time() * 1000000) for j in xrange(columns_per_key)]
-        fmt = '%0' + str(len(str(total_keys))) + 'd'
         if 'super' == options.cftype:
             supers = [SuperColumn('S' + str(j), columns) for j in xrange(supers_per_key)]
         for i in self.range:
@@ -295,7 +295,6 @@ class RangeSlicer(Operation):
         end = self.range[-1]
         current = begin
         last = current + options.rangecount
-        fmt = '%0' + str(len(str(total_keys))) + 'd'
         p = SlicePredicate(slice_range=SliceRange('', '', False, columns_per_key))
         if 'super' == options.cftype:
             while current < end:
@@ -348,7 +347,6 @@ class RangeSlicer(Operation):
 # from the thread's appointed range
 class IndexedRangeSlicer(Operation):
     def run(self):
-        fmt = '%0' + str(len(str(total_keys))) + 'd'
         p = SlicePredicate(slice_range=SliceRange('', '', False, columns_per_key))
         values = generate_values()
         parent = ColumnParent('Standard1')