From 25b8945abf3b456bda03499eddcd6ee3f76175b0 Mon Sep 17 00:00:00 2001 From: Gary Dusbabek Date: Mon, 2 Aug 2010 18:18:55 +0000 Subject: [PATCH] remove ConfigurationException from migration serialization. patch by stuhood, reviewed by gdusbabek. CASSANDRA-1308 git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@981647 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/cassandra/config/CFMetaData.java | 13 +++++++------ .../cassandra/config/ColumnDefinition.java | 2 +- .../org/apache/cassandra/config/KSMetaData.java | 4 ++-- src/java/org/apache/cassandra/db/DefsTable.java | 17 +++++------------ .../cassandra/db/migration/AddColumnFamily.java | 9 +-------- .../cassandra/db/migration/AddKeyspace.java | 9 +-------- 6 files changed, 17 insertions(+), 37 deletions(-) diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index f4520b6af8..5352af8c87 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -231,20 +231,21 @@ public final class CFMetaData return cf; } - public static CFMetaData inflate(org.apache.cassandra.config.avro.CfDef cf) throws ConfigurationException + public static CFMetaData inflate(org.apache.cassandra.config.avro.CfDef cf) { - AbstractType comparator = DatabaseDescriptor.getComparator(cf.comparator_type.toString()); + AbstractType comparator; AbstractType subcolumnComparator = null; - if (cf.subcomparator_type != null) - subcolumnComparator = DatabaseDescriptor.getComparator(cf.subcomparator_type.toString()); - AbstractReconciler reconciler = null; + AbstractReconciler reconciler; try { + comparator = DatabaseDescriptor.getComparator(cf.comparator_type.toString()); + if (cf.subcomparator_type != null) + subcolumnComparator = DatabaseDescriptor.getComparator(cf.subcomparator_type.toString()); reconciler = (AbstractReconciler)Class.forName(cf.reconciler.toString()).newInstance(); } catch (Exception ex) { - throw new ConfigurationException("Could not create Reconciler of type " + cf.reconciler, ex); + throw new RuntimeException("Could not inflate CFMetaData for " + cf, ex); } Map column_metadata = new TreeMap(FBUtilities.byteArrayComparator); Iterator cditer = cf.column_metadata.iterator(); diff --git a/src/java/org/apache/cassandra/config/ColumnDefinition.java b/src/java/org/apache/cassandra/config/ColumnDefinition.java index e5e1b814fd..d73af7cd20 100644 --- a/src/java/org/apache/cassandra/config/ColumnDefinition.java +++ b/src/java/org/apache/cassandra/config/ColumnDefinition.java @@ -65,7 +65,7 @@ public class ColumnDefinition { return cd; } - public static ColumnDefinition inflate(org.apache.cassandra.config.avro.ColumnDef cd) throws ConfigurationException + public static ColumnDefinition inflate(org.apache.cassandra.config.avro.ColumnDef cd) { byte[] name = new byte[cd.name.remaining()]; cd.name.get(name, 0, name.length); diff --git a/src/java/org/apache/cassandra/config/KSMetaData.java b/src/java/org/apache/cassandra/config/KSMetaData.java index 3a4267ae20..7385d7744f 100644 --- a/src/java/org/apache/cassandra/config/KSMetaData.java +++ b/src/java/org/apache/cassandra/config/KSMetaData.java @@ -92,7 +92,7 @@ public final class KSMetaData return ks; } - public static KSMetaData inflate(org.apache.cassandra.config.avro.KsDef ks) throws ConfigurationException + public static KSMetaData inflate(org.apache.cassandra.config.avro.KsDef ks) { Class repStratClass; try @@ -101,7 +101,7 @@ public final class KSMetaData } catch (Exception ex) { - throw new ConfigurationException("Could not create ReplicationStrategy of type " + ks.strategy_class, ex); + throw new RuntimeException("Could not create ReplicationStrategy of type " + ks.strategy_class, ex); } Map strategyOptions = null; if (ks.strategy_options != null) diff --git a/src/java/org/apache/cassandra/db/DefsTable.java b/src/java/org/apache/cassandra/db/DefsTable.java index 4227a7bd0e..acea2eb1f2 100644 --- a/src/java/org/apache/cassandra/db/DefsTable.java +++ b/src/java/org/apache/cassandra/db/DefsTable.java @@ -102,19 +102,12 @@ public class DefsTable // deserialize keyspaces using schema Collection keyspaces = new ArrayList(); - try + for (IColumn column : cf.getSortedColumns()) { - for (IColumn column : cf.getSortedColumns()) - { - if (Arrays.equals(column.name(), DEFINITION_SCHEMA_COLUMN_NAME)) - continue; - org.apache.cassandra.config.avro.KsDef ks = SerDeUtils.deserialize(schema, column.value()); - keyspaces.add(KSMetaData.inflate(ks)); - } - } - catch (ConfigurationException e) - { - throw new IOException(e); + if (Arrays.equals(column.name(), DEFINITION_SCHEMA_COLUMN_NAME)) + continue; + org.apache.cassandra.config.avro.KsDef ks = SerDeUtils.deserialize(schema, column.value()); + keyspaces.add(KSMetaData.inflate(ks)); } return keyspaces; } diff --git a/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java b/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java index 4979f7a842..8d655ae361 100644 --- a/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java +++ b/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java @@ -50,14 +50,7 @@ public class AddColumnFamily extends Migration rm = RowMutation.serializer().deserialize(din); // deserialize cf - try - { - cfm = CFMetaData.inflate(SerDeUtils.deserializeWithSchema(FBUtilities.readShortByteArray(din))); - } - catch (ConfigurationException e) - { - throw new IOException(e); - } + cfm = CFMetaData.inflate(SerDeUtils.deserializeWithSchema(FBUtilities.readShortByteArray(din))); } public AddColumnFamily(CFMetaData cfm) throws ConfigurationException, IOException diff --git a/src/java/org/apache/cassandra/db/migration/AddKeyspace.java b/src/java/org/apache/cassandra/db/migration/AddKeyspace.java index 61c36ac1d5..819adacb06 100644 --- a/src/java/org/apache/cassandra/db/migration/AddKeyspace.java +++ b/src/java/org/apache/cassandra/db/migration/AddKeyspace.java @@ -48,14 +48,7 @@ public class AddKeyspace extends Migration rm = RowMutation.serializer().deserialize(din); // deserialize ks - try - { - ksm = KSMetaData.inflate(SerDeUtils.deserializeWithSchema(FBUtilities.readShortByteArray(din))); - } - catch (ConfigurationException e) - { - throw new IOException(e); - } + ksm = KSMetaData.inflate(SerDeUtils.deserializeWithSchema(FBUtilities.readShortByteArray(din))); } public AddKeyspace(KSMetaData ksm) throws ConfigurationException, IOException