[ 
https://issues.apache.org/jira/browse/IGNITE-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitriy Pavlov reassigned IGNITE-4890:
--------------------------------------

    Assignee: Venky Kandaswamy

> Unable to create tables automatically because 'unconfigured columnfamily' 
> error is not handled for older Cassandra versions
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-4890
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4890
>             Project: Ignite
>          Issue Type: Bug
>          Components: general
>    Affects Versions: 1.9
>            Reporter: Venky Kandaswamy
>            Assignee: Venky Kandaswamy
>            Priority: Major
>              Labels: patch
>
> PROBLEM:
> When running Ignite with older Cassandra versions (i.e DSE 4.8.10, Cassandra 
> 2.1.6 or older), we noticed that only the first tabel in an Ignite config is 
> created and the others fail with 'unconfigured columnfamily' exception.
> SUGGESTED FIX:
> It appears that the error from Cassandra is changed in newer versions to 
> 'unconfigured table ...' and this is handled.  The conditions checked in 
> org.apache.ignite.cache.store.cassandra.common.CassandraHelper needs to be 
> modified to handle the older Cassandra errors. 
> We are submitting a patch to do that. 
> 13:44:28,753 ERROR com.walmartlabs.qarth.ignite.tests.utils.CacheStoreHelper 
> [main] - Failed to execute Cassandra CQL statement: insert into 
> "test1"."blob_test2" ("key", "value") values (?,?);
> class org.apache.ignite.IgniteException: Failed to execute Cassandra CQL 
> statement: insert into "test1"."blob_test2" ("key", "value") values (?,?);
>       at 
> org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:163)
>       at 
> org.apache.ignite.cache.store.cassandra.CassandraCacheStore.write(CassandraCacheStore.java:276)
>       at 
> com.walmartlabs.qarth.ignite.tests.cassandra.CassandraDirectPersistenceTest.blobStrategyTest(CassandraDirectPersistenceTest.java:233)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>       at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
> Caused by: class org.apache.ignite.IgniteException: Failed to prepare 
> Cassandra CQL statement: insert into "test1"."blob_test2" ("key", "value") 
> values (?,?);
>       at 
> org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.prepareStatement(CassandraSessionImpl.java:615)
>       at 
> org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:133)
>       ... 27 more
> Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: 
> unconfigured columnfamily blob_test2
>       at 
> com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:50)
>       at 
> com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
>       at 
> com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:98)
>       at 
> org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.prepareStatement(CassandraSessionImpl.java:597)
>       ... 28 more
> Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: 
> unconfigured columnfamily blob_test2
>       at 
> com.datastax.driver.core.Responses$Error.asException(Responses.java:136)
>       at 
> com.datastax.driver.core.SessionManager$4.apply(SessionManager.java:220)
>       at 
> com.datastax.driver.core.SessionManager$4.apply(SessionManager.java:196)
>       at 
> com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTransform(Futures.java:1442)
>       at 
> com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTransform(Futures.java:1433)
>       at 
> com.google.common.util.concurrent.Futures$AbstractChainingFuture.run(Futures.java:1408)
>       at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:456)
>       at 
> com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:817)
>       at 
> com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:753)
>       at 
> com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:613)
>       at 
> com.datastax.driver.core.Connection$Future.onSet(Connection.java:1174)
>       at 
> com.datastax.driver.core.Connection$Future.onSet(Connection.java:1168)
>       at 
> com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:184)
>       at 
> com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:43)
>       at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:798)
>       at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:617)
>       at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1005)
>       at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:928)
>       at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>       at 
> io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>       at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>       at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)
>       at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>       at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>       at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
>       at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>       at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
>       at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
>       at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
>       at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
>       at 
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
>       at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to