Author: jbellis
Date: Mon Jul 18 17:13:28 2011
New Revision: 1147974

URL: http://svn.apache.org/viewvc?rev=1147974&view=rev
Log:
fix updating KS with durable_writes=false
patch by pyaskevich; reviewed by jbellis for CASSANDRA-2907

Modified:
    cassandra/branches/cassandra-0.8/CHANGES.txt
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/KSMetaData.java
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1147974&r1=1147973&r2=1147974&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Jul 18 17:13:28 2011
@@ -29,6 +29,7 @@
  * support spaces in path to log4j configuration (CASSANDRA-2383)
  * avoid including inferred types in CF update (CASSANDRA-2809)
  * fix JMX bulkload call (CASSANDRA-2908)
+ * fix updating KS with durable_writes=false (CASSANDRA-2907)
 
 
 0.8.1

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/KSMetaData.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/KSMetaData.java?rev=1147974&r1=1147973&r2=1147974&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/KSMetaData.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/KSMetaData.java
 Mon Jul 18 17:13:28 2011
@@ -133,12 +133,12 @@ public final class KSMetaData
     {
         StringBuilder sb = new StringBuilder();
         sb.append(name)
-          .append("rep strategy:")
+          .append(", rep strategy:")
           .append(strategyClass.getSimpleName())
           .append("{")
           .append(StringUtils.join(cfMetaData.values(), ", "))
           .append("}")
-          .append("durable_writes: ").append(durable_writes);
+          .append(", durable_writes: ").append(durable_writes);
         return sb.toString();
     }
 
@@ -205,8 +205,8 @@ public final class KSMetaData
         ksdef.setStrategy_options(ksm.strategyOptions);
         if (ksm.strategyOptions != null && 
ksm.strategyOptions.containsKey("replication_factor"))
             
ksdef.setReplication_factor(Integer.parseInt(ksm.strategyOptions.get("replication_factor")));
-        ksdef.durable_writes = ksm.durable_writes;
-        
+        ksdef.setDurable_writes(ksm.durable_writes);
+
         return ksdef;
     }
 }

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java?rev=1147974&r1=1147973&r2=1147974&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
 Mon Jul 18 17:13:28 2011
@@ -51,7 +51,8 @@ public class UpdateKeyspace extends Migr
         oldKsm = DatabaseDescriptor.getKSMetaData(ksm.name);
         if (oldKsm == null)
             throw new ConfigurationException(ksm.name + " cannot be updated 
because it doesn't exist.");
-        this.newKsm = new KSMetaData(ksm.name, ksm.strategyClass, 
ksm.strategyOptions, oldKsm.cfMetaData().values().toArray(new CFMetaData[]{}));
+
+        this.newKsm = new KSMetaData(ksm.name, ksm.strategyClass, 
ksm.strategyOptions, ksm.isDurableWrites(), 
oldKsm.cfMetaData().values().toArray(new CFMetaData[]{}));
         rm = makeDefinitionMutation(newKsm, oldKsm, newVersion);
     }
     
@@ -60,7 +61,6 @@ public class UpdateKeyspace extends Migr
         DatabaseDescriptor.clearTableDefinition(oldKsm, newVersion);
         DatabaseDescriptor.setTableDefinition(newKsm, newVersion);
 
-
         Table table = Table.open(newKsm.name);
         try
         {


Reply via email to