Was there more to the error message ? Looks likes there should be a caused by exception there https://github.com/Netflix/astyanax/blob/master/src/main/java/com/netflix/astyanax/serializers/AnnotatedCompositeSerializer.java#L114
The InstationError is being raised when it tries to create an instance of the column type https://github.com/Netflix/astyanax/blob/master/src/main/java/com/netflix/astyanax/serializers/AnnotatedCompositeSerializer.java#L166 I would check everything is in the class path and create an issue on https://github.com/Netflix/astyanax/issues if you get stuck. Cheers ----------------- Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 12/09/2012, at 2:04 PM, Ran User <ranuse...@gmail.com> wrote: > Oops, forgot to mention Cassandra version - 1.1.4 > > On Tue, Sep 11, 2012 at 5:54 AM, Ran User <ranuse...@gmail.com> wrote: > Stuck for hours on this one, thanks in advance! > > - Scala 2.9.2 > - Astyanax 1.0.6 (also tried 1.0.5) > - Using CompositeRowKey, CompositeColumnName > - No problem inserting into Cassandra > - Can read a row, ColumnList.size() returns correct count however any attempt > to access ColumnList (i.e. iterate, access iterate ColumnList, > getColumnByIndex(), getColumnByName(), etc) will throw the following > exception: > Exception: > > java.lang.RuntimeException: java.lang.InstantiationException > > relevant stack trace: > > java.lang.RuntimeException: java.lang.InstantiationException: > shops.integration.db.scalaquery.ReportingDao$MetricsLogFileCompositeColumn > at > com.netflix.astyanax.serializers.AnnotatedCompositeSerializer.fromByteBuffer(AnnotatedCompositeSerializer.java:136) > at > com.netflix.astyanax.serializers.AbstractSerializer.fromBytes(AbstractSerializer.java:40) > at > com.netflix.astyanax.thrift.model.ThriftColumnOrSuperColumnListImpl.constructMap(ThriftColumnOrSuperColumnListImpl.java:201) > at > com.netflix.astyanax.thrift.model.ThriftColumnOrSuperColumnListImpl.getColumn(ThriftColumnOrSuperColumnListImpl.java:189) > at > com.netflix.astyanax.thrift.model.ThriftColumnOrSuperColumnListImpl.getColumnByName(ThriftColumnOrSuperColumnListImpl.java:103) > > Relevant sample code: > > class TestCompositeColumn(@(Component @field) var logFileId: Long, > @(Component @field) var dt: String, @(Component @field) var dk: String) > extends Ordered[TestCompositeColumn] { > def this() = this(0l, "", "") > //equals, hashCode, compare all implemented > } > > I've also tried this variation on the class: > > class TestCompositeColumn(idIn: Long, key1In: String, key2In: String) > extends Ordered[TestCompositeColumn] { > @Component(ordinal = 0) var id: Long = idIn > @Component(ordinal = 1) var key1: String = key1In > @Component(ordinal = 2) var key2: String = key2In > > def this() = this(0, null, null) > //equals, hashCode, compare all implemented > } > > val TEST_COLUMN_FAMILY = new ColumnFamily[TestRowKey, TestCompositeColumn]( > "test_column_family", > new AnnotatedCompositeSerializer[TestRowKey](classOf[TestRowKey]), > new > AnnotatedCompositeSerializer[TestCompositeColumn](classOf[TestCompositeColumn]), > BytesArraySerializer.get()); > > var columnList = keyspace.prepareQuery(TEST_COLUMN_FAMILY) > .getKey(TestRowKey(1l, 2012090100)) > .execute().getResult() > > // OK - will return 6 for example, also verified via cassandra-cli > println(columnList.size()) > > // ERROR - will throw exception above. Iterating, or any type of access will > also throw same exception > println(columnList.getColumnByIndex(0).getStringValue()) > > Thank you!!! > >