jprante / elasticsearch-jdbc

JDBC importer for Elasticsearch
Apache License 2.0
2.84k stars 710 forks source link

incremental pull not working for Cassandra DB #838

Open vijaydodla opened 8 years ago

vijaydodla commented 8 years ago

Hi Jorge- Not sure where i'm doing wrong. Normal one time pull is working fine but when i schedule incremental pull getting error. Here is the error can please take a look and help me to get this resolved.

Log message: [ERROR][importer.jdbc.context.standard][pool-4-thread-1] at fetch: java.sql.SQLSyntaxErrorException: InvalidRequestException(why:line 1:9 extraneous input 'value' expecting K_FROM (SELECT * value [FROM]...)) java.io.IOException: java.sql.SQLSyntaxErrorException: InvalidRequestException(why:line 1:9 extraneous input 'value' expecting K_FROM (SELECT * value [FROM]...)) at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.fetch(StandardSource.java:631) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.fetch(StandardContext.java:188) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.execute(StandardContext.java:163) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.tools.JDBCImporter.process(JDBCImporter.java:179) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.tools.JDBCImporter.newRequest(JDBCImporter.java:165) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.tools.JDBCImporter.newRequest(JDBCImporter.java:51) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:50) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:16) [elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_65] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65] Caused by: java.sql.SQLSyntaxErrorException: InvalidRequestException(why:line 1:9 extraneous input 'value' expecting K_FROM (SELECT * value [FROM]...)) at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.(CassandraPreparedStatement.java:105) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:476) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:471) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:83) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.prepareQuery(StandardSource.java:836) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.executeWithParameter(StandardSource.java:718) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.fetch(StandardSource.java:594) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] ... 11 more Caused by: org.apache.cassandra.thrift.InvalidRequestException at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result$prepare_cql3_query_resultStandardScheme.read(Cassandra.java:52282) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result$prepare_cql3_query_resultStandardScheme.read(Cassandra.java:52259) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result.read(Cassandra.java:52198) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.thrift.Cassandra$Client.recv_prepare_cql3_query(Cassandra.java:1797) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.thrift.Cassandra$Client.prepare_cql3_query(Cassandra.java:1783) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepare(CassandraConnection.java:561) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepare(CassandraConnection.java:574) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.(CassandraPreparedStatement.java:100) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:476) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:471) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.apache.cassandra.cql.jdbc.CassandraConnection.prepareStatement(CassandraConnection.java:83) ~[cassandra-jdbc-3.1.1-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.prepareQuery(StandardSource.java:836) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.executeWithParameter(StandardSource.java:718) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource.fetch(StandardSource.java:594) ~[elasticsearch-jdbc-2.1.1.2-uberjar.jar:?] ... 11 more

vijaydodla commented 8 years ago

Also here is the script file i'm executing.

!/bin/sh

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" bin=${DIR}/../bin lib=${DIR}/../lib

echo ' { "type" : "jdbc", "jdbc" : { "url" : "jdbc:cassandra://devinstance.com:9160/testkeyspace", "user" : "cassandra", "locale" : "enUS", "statefile" : "statefile.json", "schedule" : "0 0-59 0-23 ? * ", "sql" : [ { "statement" : "SELECT employeeid, salary,date,region FROM testkeyspace.table1 where region='\'APJC\'' AND date>maxtimeuuid(?) ALLOW FILTERING", "parameter" : [ "$metrics.lastexecutionstart" ] } ], "elasticsearch" : { "hosts" : "localhost", "port" : 9300 }, "index" : "test1", "type" : "testtype1" } } ' | java \ -cp "${lib}/" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter

jprante commented 8 years ago

Check your setup, and the statements executed. The statement in the script seems not causing the error, because the error is that you have a syntax error in your SQL

SELECT * value FROM ...
vijaydodla commented 8 years ago

Thanks will check it Jorge.