From 63956fbbada8ed916a71a8b72f69b38e7b903c2d Mon Sep 17 00:00:00 2001
From: Sean Busbey <sean.busbey@gmail.com>
Date: Sat, 26 Mar 2016 01:49:56 -0500
Subject: [PATCH] [cassandra] properly clear cached containers.

clear containers before we use them rather than after, so that in the case of
exceptions we can recover.

closes #127
---
 .../main/java/com/yahoo/ycsb/db/CassandraClient10.java    | 8 ++++----
 .../src/main/java/com/yahoo/ycsb/db/CassandraClient7.java | 8 ++++----
 .../src/main/java/com/yahoo/ycsb/db/CassandraClient8.java | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient10.java b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient10.java
index 9eaf2eeb..b3d8e4a7 100644
--- a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient10.java
+++ b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient10.java
@@ -453,6 +453,10 @@ public class CassandraClient10 extends DB {
     }
 
     for (int i = 0; i < operationRetries; i++) {
+      mutations.clear();
+      mutationMap.clear();
+      record.clear();
+
       if (debug) {
         System.out.println("Inserting key: " + key);
       }
@@ -479,10 +483,6 @@ public class CassandraClient10 extends DB {
 
         client.batch_mutate(record, writeConsistencyLevel);
 
-        mutations.clear();
-        mutationMap.clear();
-        record.clear();
-
         if (debug) {
           System.out
               .println("ConsistencyLevel=" + writeConsistencyLevel.toString());
diff --git a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient7.java b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient7.java
index 8f635549..f2075e7f 100644
--- a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient7.java
+++ b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient7.java
@@ -418,6 +418,10 @@ public class CassandraClient7 extends DB {
     }
 
     for (int i = 0; i < operationRetries; i++) {
+      mutations.clear();
+      mutationMap.clear();
+      record.clear();
+
       if (debug) {
         System.out.println("Inserting key: " + key);
       }
@@ -444,10 +448,6 @@ public class CassandraClient7 extends DB {
 
         client.batch_mutate(record, ConsistencyLevel.ONE);
 
-        mutations.clear();
-        mutationMap.clear();
-        record.clear();
-
         return Status.OK;
       } catch (Exception e) {
         errorexception = e;
diff --git a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient8.java b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient8.java
index ca6b0cf7..ca72c339 100644
--- a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient8.java
+++ b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraClient8.java
@@ -397,6 +397,10 @@ public class CassandraClient8 extends DB {
     }
 
     for (int i = 0; i < operationRetries; i++) {
+      mutations.clear();
+      mutationMap.clear();
+      record.clear();
+
       if (debug) {
         System.out.println("Inserting key: " + key);
       }
@@ -423,10 +427,6 @@ public class CassandraClient8 extends DB {
 
         client.batch_mutate(record, ConsistencyLevel.ONE);
 
-        mutations.clear();
-        mutationMap.clear();
-        record.clear();
-
         return Status.OK;
       } catch (Exception e) {
         errorexception = e;
-- 
GitLab