comeara / pillar

Pillar manages migrations for your Cassandra data stores.
https://github.com/comeara/pillar
MIT License
111 stars 64 forks source link

missing EOF at 'CREATE' when running multiple stages migration script. #40

Closed mikla closed 7 years ago

mikla commented 7 years ago

Trying to execute migrations script with multiple stages (from documentation) and getting following error:


com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:58)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:24)
    at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
    at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:63)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:39)
    at de.kaufhof.pillar.Migration$class.executeUpStatement(Migration.scala:38)
    at de.kaufhof.pillar.ReversibleMigration.executeUpStatement(Migration.scala:75)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at de.kaufhof.pillar.CassandraMigrator.migrate(CassandraMigrator.scala:12)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:194)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:187)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$Pillar$.withSession(Plugin.scala:158)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:59)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$Pillar$.withCassandraUrl(Plugin.scala:131)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:51)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.Responses$Error.asException(Responses.java:132)
    at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
    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)
[error] An error occurred while performing task: com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:58)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:24)
    at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
    at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:63)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:39)
    at de.kaufhof.pillar.Migration$class.executeUpStatement(Migration.scala:38)
    at de.kaufhof.pillar.ReversibleMigration.executeUpStatement(Migration.scala:75)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at de.kaufhof.pillar.CassandraMigrator.migrate(CassandraMigrator.scala:12)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:194)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:187)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$Pillar$.withSession(Plugin.scala:158)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:59)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$Pillar$.withCassandraUrl(Plugin.scala:131)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:51)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.Responses$Error.asException(Responses.java:132)
    at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
    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)
com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:58)
    at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:24)
    at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
    at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:63)
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:39)
    at de.kaufhof.pillar.Migration$class.executeUpStatement(Migration.scala:38)
    at de.kaufhof.pillar.ReversibleMigration.executeUpStatement(Migration.scala:75)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at de.kaufhof.pillar.CassandraMigrator$$anonfun$migrate$2.apply(CassandraMigrator.scala:12)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at de.kaufhof.pillar.CassandraMigrator.migrate(CassandraMigrator.scala:12)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:194)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:187)
    at io.ino.sbtpillar.Plugin$Pillar$$anonfun$migrate$1.apply(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$Pillar$.withSession(Plugin.scala:158)
    at io.ino.sbtpillar.Plugin$Pillar$.migrate(Plugin.scala:186)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:59)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3$$anonfun$apply$5.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$Pillar$.withCassandraUrl(Plugin.scala:131)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:55)
    at io.ino.sbtpillar.Plugin$$anonfun$taskSettings$3.apply(Plugin.scala:51)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
    at com.datastax.driver.core.Responses$Error.asException(Responses.java:132)
    at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
    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)
[error] (sharingAdapter/*:migrate) com.datastax.driver.core.exceptions.SyntaxError: line 8:0 missing EOF at 'CREATE' (... KEY (id))-- stage: 2[CREATE] TABLE...)
[error] Total time: 1 s, completed Jan 16, 2017 5:43:40 PM```
comeara commented 7 years ago

Wow, that's interesting @mikla. Can you give me some more details about what you're trying to do? The following would be a good start:

Thanks, Chris

mikla commented 7 years ago

I've created minimal reproduction project. https://github.com/mikla/sbt-pillar-fail-reproduction

i'm using sbt-pillar plugin to run migrations. Perhaprs, it's not pillar issue at all.

I've added all requested information into readme.md.

Thanks!

comeara commented 7 years ago

@mikla Thanks for the example. That helped identify what's going wrong.

The pillar-sbt plugin uses the Galleria-Kaufhof fork of Pillar. I'm not sure if that fork has multiple stages or, if it does, what the syntax looks like. I'd recommend you review the docs of their fork for the correct migration file format.