1212# See the License for the specific language governing permissions and
1313# limitations under the License.
1414
15- import struct , logging , sys , traceback
15+ import struct , logging , sys , traceback , time
1616
1717from cassandra import ConsistencyLevel , OperationTimedOut , ReadTimeout , WriteTimeout , Unavailable
1818from cassandra .cluster import Cluster
@@ -65,7 +65,15 @@ def _insert(self, session, keyspace, count, consistency_level=ConsistencyLevel.O
6565 for i in range (count ):
6666 ss = SimpleStatement ('INSERT INTO cf(k, i) VALUES (0, 0)' ,
6767 consistency_level = consistency_level )
68- session .execute (ss )
68+ while True :
69+ try :
70+ session .execute (ss )
71+ break
72+ except (OperationTimedOut , WriteTimeout ):
73+ ex_type , ex , tb = sys .exc_info ()
74+ log .warn ("{0}: {1} Backtrace: {2}" .format (ex_type .__name__ , ex , traceback .extract_tb (tb )))
75+ del tb
76+ time .sleep (1 )
6977
7078 def _query (self , session , keyspace , count , consistency_level = ConsistencyLevel .ONE ):
7179 routing_key = struct .pack ('>i' , 0 )
@@ -81,6 +89,7 @@ def _query(self, session, keyspace, count, consistency_level=ConsistencyLevel.ON
8189 ex_type , ex , tb = sys .exc_info ()
8290 log .warn ("{0}: {1} Backtrace: {2}" .format (ex_type .__name__ , ex , traceback .extract_tb (tb )))
8391 del tb
92+ time .sleep (1 )
8493
8594 def _assert_writes_succeed (self , session , keyspace , consistency_levels ):
8695 for cl in consistency_levels :
0 commit comments