Hi everyone,

our project is using org.springframework.data.cassandra.mapping.Table 
annotations to create tables in Cassandra automatically when the Java process 
starts. Unfortunately, when we enable JaCoCo to measure code coverage this 
table creation mechanism is omitted somehow and the tables are not created in 
Cassandra DB. We end-up with exception like this while making insert statements:


java.lang.IllegalArgumentException: Invalid value [Z@7e4afb38 of type unknown 
to the query builder
        at 
com.datastax.driver.core.querybuilder.Utils.appendStringIfValid(Utils.java:133) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.Utils.appendValue(Utils.java:113) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.Utils.appendValue(Utils.java:92) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.Utils.joinAndAppendValues(Utils.java:58) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.Insert.buildQueryString(Insert.java:59) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.Batch.buildQueryString(Batch.java:69) 
~[cassandra-driver-core-2.1.4.jar:na]
        at 
com.datastax.driver.core.querybuilder.BuiltStatement.toString(BuiltStatement.java:186)
 ~[cassandra-driver-core-2.1.4.jar:na]
        at 
org.springframework.cassandra.core.CqlTemplate$12.doInSession(CqlTemplate.java:500)
 ~[spring-cql-1.4.1.RELEASE.jar:na]
        at 
org.springframework.cassandra.core.CqlTemplate$12.doInSession(CqlTemplate.java:494)
 ~[spring-cql-1.4.1.RELEASE.jar:na]
        at 
org.springframework.cassandra.core.CqlTemplate.doExecute(CqlTemplate.java:471) 
~[spring-cql-1.4.1.RELEASE.jar:na]
        at 
org.springframework.cassandra.core.CqlTemplate.doExecute(CqlTemplate.java:494) 
~[spring-cql-1.4.1.RELEASE.jar:na]
        at 
org.springframework.cassandra.core.CqlTemplate.execute(CqlTemplate.java:1219) 
~[spring-cql-1.4.1.RELEASE.jar:na]

Since this exception doesn't give much info we executed the CQL statement 
causing it from command line

When executing the same statement from cqlsh in Cassandra:

cqlsh> BEGIN BATCH INSERT INTO 
keyspace.dbschemaversion(updatedTime,schemaVersion,vrmVersion) VALUES 
(1487936595530,2,'');INSERT INTO keyspace.dbschemalatestversion(latestVersion) 
VALUES (2);APPLY BATCH;

We get error:

InvalidRequest: code=2200 [Invalid query] message="unconfigured table 
dbschemaversion"

Obviously the table is not created. But if we disable JaCoCo agent, the tables 
are created. Here is how a table looks using this annotation:


@Table(value = DbSchemaVersion.tableName)
public class DbSchemaVersion {

        @org.springframework.data.annotation.Transient
        public static final String tableName = "dbschemaversion";

        @PrimaryKey
        private Integer schemaVersion;

        private String vrmVersion;

        private Date updatedTime;

.... getters/setters
}


Any ideas anyone?

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/6428b4b1-58b5-4d32-a8c7-1dffbf75ec7a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to