Loading yaml file like so:
        FileInputStream yamlInputStream = new FileInputStream(
                configTemplateFile);
        Constructor constructor = new Constructor(Config.class);
        Yaml yaml = new Yaml(new Loader(constructor));
        Config conf = (Config) yaml.load(yamlInputStream);

Fails on the last line.

Although if i have the CFs defined like this:
keyspaces:
- column_families:
  - !!org.apache.cassandra.config.RawColumnFamily
    column_metadata: []
    column_type: null
    comment: null
    compare_subcolumns_with: null
    compare_with: BytesType
    default_validation_class: null
    gc_grace_seconds: 864000
    keys_cached: 200000.0
    max_compaction_threshold: 32
    min_compaction_threshold: 4
    name: Similarity
    preload_row_cache: false
    read_repair_chance: 1.0
    rows_cached: 0.0


it appears to startup.  Any idea whats going on here?


On Tue, Nov 16, 2010 at 11:58 AM, CassUser CassUser <cassu...@gmail.com>wrote:

> This is embedded for testing cassandra 0.7 beta2.  using
> EmbeddedCassandraService.
>
> and manually adding schema programmatically using:
>         for (KSMetaData table : DatabaseDescriptor.readTablesFromYaml()) {
>             for (CFMetaData cfm : table.cfMetaData().values()) {
>                 CFMetaData.map(cfm);
>             }
>             DatabaseDescriptor.setTableDefinition(table,
>                     DatabaseDescriptor.getDefsVersion());
>         }
>
> Is this the correct way to start up a test server, with the schema loaded?
>
>
>
> On Tue, Nov 16, 2010 at 11:41 AM, Aaron Morton <aa...@thelastpickle.com>wrote:
>
>> AFAIK the ArrayStoreException is similar to a type mismatch. Is it
>> possible you have something mixed up in your class path or source code if
>> you built from source?
>>
>> It looks like the column family info was deserialised into a
>> o.a.c.config.RawColumnFamily but when that object was added to the
>> RawColumnFamily[] array on o.a.c.config.RawKeyspace if was the wrong type.
>>
>> Have you tried a clean build ? There are some things in the call stack
>> which look custom, are you starting from the command line or is this
>> embedded for testing?
>>
>> Hope that helps.
>> Aaron
>>
>>
>>
>>
>> On 17 Nov, 2010,at 08:09 AM, CassUser CassUser <cassu...@gmail.com>
>> wrote:
>>
>> Here is the yaml:
>>
>> # Cassandra YAML generated from previous config
>> # Configuration wiki:
>> http://wiki.apache.org/cassandra/StorageConfiguration
>> authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
>> auto_bootstrap: false
>> binary_memtable_throughput_in_mb: 256
>> cluster_name: Test Cluster
>> column_index_size_in_kb: 64
>> commitlog_rotation_threshold_in_mb: 128
>> commitlog_sync: periodic
>> commitlog_sync_period_in_ms: 10000
>> compaction_thread_priority: 1
>> concurrent_reads: 8
>> concurrent_writes: 32
>> disk_access_mode: auto
>> dynamic_snitch: false
>> endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
>> request_scheduler: org.apache.cassandra.scheduler.RoundRobinScheduler
>> request_scheduler_id: keyspace
>> hinted_handoff_enabled: true
>> in_memory_compaction_limit_in_mb: 128
>> index_interval: 128
>> keyspaces:
>>     - name: myKeyspace
>>        replica_placement_strategy:
>> orgapache.cassandra.locator.SimpleStrategy
>>
>>       replication_factor: 1
>>       column_families:
>>         - name: Standard1
>>           rows_cached: 100
>>           keys_cached: 1
>>           compare_with: UTF8Type
>> memtable_flush_after_mins: 60
>> memtable_operations_in_millions: 0.3
>> memtable_throughput_in_mb: 64
>> partitioner: org.apache.cassandra.dht.RandomPartitioner
>> phi_convict_threshold: 8
>> rpc_keepalive: true
>> rpc_port: 9160
>> rpc_timeout_in_ms: 10000
>> sliced_buffer_size_in_kb: 64
>> snapshot_before_compaction: false
>> storage_port: 7000
>> thrift_framed_transport_size_in_mb: 15
>> thrift_max_message_length_in_mb: 16
>>
>> and here is the exception i'm receiving:
>>
>> Caused by: Can't construct a java object for 
>> tag:yaml.org,2002:org.apache.cassandra.config.Config;
>> exception=Cannot create property=keyspaces for Java
>> bean=org.apache.cassandra.config.con...@12e43f1; Cannot create
>> property=column_families for
>> javabean=org.apache.cassandra.config.rawkeysp...@1a8bd74;
>> null
>>  in "<reader>", line 3, column 1:
>>     authenticator: org.apache.cassan ...
>>     ^
>>
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:372)
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:177)
>>          at
>> org.yaml.snakeyaml.constructor.BaseConstructorconstructDocument(BaseConstructor.java:136)
>>
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:122)
>>         at org.yaml.snakeyaml.Loader.load(Loader.java:52)
>>         at org.yaml.snakeyaml.Yaml.load(Yaml.java:166)
>>         at
>> com.atsid.cassandra.testutils.CassandraTestRunner.updateYamlConfig(CassandraTestRunner.java:134)
>>         at
>> com.atsid.cassandra.testutils.CassandraTestRunner.init(CassandraTestRunner.java:119)
>>         at
>> com.atsid.cassandra.testutils.CassandraTestRunner.main(CassandraTestRunner.java:272)
>>         ... 6 more
>> Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create
>> property=keyspaces for javabean=org.apache.cassandra.config.con...@12e43f1;
>> Cannot cr
>> eate property=column_families for
>> javabean=org.apache.cassandra.config.rawkeysp...@1a8bd74; null
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:305)
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:184)
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:370)
>>         ... 14 more
>> Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create
>> property=column_families for
>> javabean=org.apache.cassandra.config.rawkeysp...@1a8bd74
>> ; null
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:305)
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:184)
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:177)
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:239)
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(BaseConstructor.java:233)
>>         at
>> org.yaml.snakeyaml.constructorConstructor$ConstructSequence.construct(Constructor.java:543)
>>
>>         at
>> org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:177)
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:298)
>>         ... 16 more
>> Caused by: java.lang.ArrayStoreException
>>         at java.lang.System.arraycopy(Native Method)
>>         at java.util.Arrays.copyOf(Arrays.java:2763)
>>         at java.util.ArrayList.toArray(ArrayList.java:305)
>>         at
>> org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:301)
>>         ... 23 more
>>
>>
>

Reply via email to