I am facing issue with upgrade from DSE driver 3.5 to driver 4.9. There is a column family with a field hour as timestamp data. We upgraded from 3.5 to 4.9 dse driver.
There was a migration job which was using below query in 3.5:
private BuiltStatement buildGetByHoursStatement() { return QueryBuilder.select(fields) .from(keyspaceName, TABLE_NAME) .where(QueryBuilder.in(HOUR_COLUMN, QueryBuilder.bindMarker())); }
**Now in 4.9 this query is remodeled like below:**
private SimpleStatement buildGetByHoursStatement() { return QueryBuilder.selectFrom(historyKeyspaceName, TABLE_NAME).columns(fields) .whereColumn(HOUR_COLUMN).in(QueryBuilder.bindMarker()).build(); }
but while execution its getting exception as below:
org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException EjbTransactionUtil.handleSystemException: Invalid unset value for column hour com.datastax.oss.driver.api.core.servererrors.InvalidQueryException: Invalid unset value for column hour at com.datastax.oss.driver.api.core.servererrors.InvalidQueryException.copy(InvalidQueryException.java:48) at com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:149) at com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process(CqlRequestSyncProcessor.java:53) at com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process(CqlRequestSyncProcessor.java:30) at com.datastax.oss.driver.internal.core.session.DefaultSession.execute(DefaultSession.java:230) at com.datastax.oss.driver.api.core.cql.SyncCqlSession.execute(SyncCqlSession.java:54)
above trace is using the remodeled query in 4.9 as shown above.
Please help and give us a clue.