Details
-
Bug
-
Resolution: Incomplete
-
Major
-
None
-
3.0.5
-
None
-
1
Description
It has been observed that the cluster.query() from Java SDK 3.0.5 client is throwing the "message":"syntax error - at end of input" for a comment query. The expectation is that it should work as a no-op by ignoring this commented statement without no errors like the below in cbq.
cbq> – fetches a row;
cbq>
See the below code snippet.
query="-- fetches a row;"; |
QueryResult result = cluster.query(query);
|
Steps:
1. git clone https://github.com/jdmuntacb/cbtest
2. cd cbtest; mvn clean package
3. Run the below java command and see the console snapshot:
|
$ java -Durl=172.23.96.189 -Duser=Administrator -Dpassword=password -Drun=connectClusterOnly,query -Dquery="-- fetches a row;" -jar target/cbtest-0.0.1-SNAPSHOT-jar-with-dependencies.jar
|
Thu Jul 30 16:05:07 PDT 2020 *** Couchbase Tester ***
|
Thu Jul 30 16:05:07 PDT 2020 -->Running connectClusterOnly
|
Thu Jul 30 16:05:08 PDT 2020 Connecting to cluster
|
Jul 30, 2020 4:05:08 PM com.couchbase.client.core.cnc.LoggingEventConsumer$JdkLogger info
|
INFO: [com.couchbase.core][CoreCreatedEvent] {"clientVersion":null,"clientGitHash":null,"coreVersion":null,"coreGitHash":null,"userAgent":"couchbase-java/0.0.0 (Mac OS X 10.14.6 x86_64; Java HotSpot(TM) 64-Bit Server VM 11.0.4+10-LTS)","maxNumRequestsInRetry":32768,"ioEnvironment":{"nativeIoEnabled":true,"eventLoopThreadCount":6,"eventLoopGroups":["KQueueEventLoopGroup"]},"ioConfig":{"captureTraffic":[],"mutationTokensEnabled":true,"networkResolution":"auto","dnsSrvEnabled":false,"tcpKeepAlivesEnabled":true,"tcpKeepAliveTimeMs":60000,"configPollIntervalMs":2500,"kvCircuitBreakerConfig":"disabled","queryCircuitBreakerConfig":"disabled","viewCircuitBreakerConfig":"disabled","searchCircuitBreakerConfig":"disabled","analyticsCircuitBreakerConfig":"disabled","managerCircuitBreakerConfig":"disabled","numKvConnections":1,"maxHttpConnections":12,"idleHttpConnectionTimeoutMs":30000,"configIdleRedialTimeoutMs":300000},"compressionConfig":{"enabled":true,"minRatio":0.83,"minSize":32},"securityConfig":{"tlsEnabled":false,"nativeTlsEnabled":true,"hasTrustCertificates":false,"trustManagerFactory":"InsecureTrustManagerFactory"},"timeoutConfig":{"kvMs":2500,"kvDurableMs":10000,"managementMs":75000,"queryMs":75000,"viewMs":75000,"searchMs":75000,"analyticsMs":75000,"connectMs":10000,"disconnectMs":10000},"loggerConfig":{"customLogger":null,"fallbackToConsole":false,"disableSlf4j":false,"loggerName":"CouchbaseLogger","diagnosticContextEnabled":false},"orphanReporterConfig":{"emitIntervalMs":10000,"sampleSize":10,"queueLength":1024},"retryStrategy":"BestEffortRetryStrategy","requestTracer":"OwnedSupplier"} {"coreId":"0xb5f026d200000001","seedNodes":[{"address":"172.23.96.189"}]}
|
Jul 30, 2020 4:05:08 PM com.couchbase.client.core.cnc.LoggingEventConsumer$JdkLogger info
|
INFO: [com.couchbase.node][NodeConnectedEvent] Node connected {"coreId":"0xb5f026d200000001","managerPort":"8091","remote":"172.23.96.189"}
|
Thu Jul 30 16:05:13 PDT 2020 Connected to cluster
|
Thu Jul 30 16:05:13 PDT 2020 -->Running query
|
Thu Jul 30 16:05:13 PDT 2020 Running Query: -- fetches a row;
|
Thu Jul 30 16:05:15 PDT 2020 Failed: Parsing of the input failed
|
com.couchbase.client.core.error.ParsingFailureException: Parsing of the input failed {"completed":true,"coreId":"0xb5f026d200000001","errors":[{"code":3000,"message":"syntax error - at end of input"}],"idempotent":false,"lastDispatchedFrom":"10.100.195.211:65129","lastDispatchedTo":"172.23.96.189:8093","requestId":2,"requestType":"QueryRequest","retried":12,"retryReasons":["ENDPOINT_TEMPORARILY_NOT_AVAILABLE","GLOBAL_CONFIG_LOAD_IN_PROGRESS"],"service":{"operationId":"b0615c34-993b-4f16-897f-bdd087917873","statement":"-- fetches a row;","type":"query"},"timeoutMs":75000,"timings":{"dispatchMicros":59960,"totalMicros":2211364}}
|
at com.couchbase.client.java.AsyncUtils.block(AsyncUtils.java:51)
|
at com.couchbase.client.java.Cluster.query(Cluster.java:393)
|
at com.couchbase.client.java.Cluster.query(Cluster.java:380)
|
at com.couchbase.cbtest.CouchbaseTester.runQuery(CouchbaseTester.java:865)
|
at com.couchbase.cbtest.CouchbaseTester.query(CouchbaseTester.java:937)
|
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
|
at com.couchbase.cbtest.CouchbaseTester.main(CouchbaseTester.java:101)
|
Suppressed: java.lang.Exception: The above exception was originally thrown by another thread at the following location.
|
at com.couchbase.client.core.io.netty.query.QueryChunkResponseParser.errorsToThrowable(QueryChunkResponseParser.java:130)
|
at java.base/java.util.Optional.map(Optional.java:265)
|
at com.couchbase.client.core.io.netty.query.QueryChunkResponseParser.error(QueryChunkResponseParser.java:117)
|
at com.couchbase.client.core.io.netty.chunk.ChunkedMessageHandler.lambda$maybeCompleteResponseWithFailure$1(ChunkedMessageHandler.java:259)
|
at java.base/java.util.Optional.orElseGet(Optional.java:369)
|
at com.couchbase.client.core.io.netty.chunk.ChunkedMessageHandler.maybeCompleteResponseWithFailure(ChunkedMessageHandler.java:258)
|
at com.couchbase.client.core.io.netty.chunk.ChunkedMessageHandler.channelRead(ChunkedMessageHandler.java:191)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
|
at com.couchbase.client.core.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
|
at com.couchbase.client.core.deps.io.netty.channel.kqueue.AbstractKQueueStreamChannel$KQueueStreamUnsafe.readReady(AbstractKQueueStreamChannel.java:544)
|
at com.couchbase.client.core.deps.io.netty.channel.kqueue.AbstractKQueueChannel$AbstractKQueueUnsafe.readReady(AbstractKQueueChannel.java:381)
|
at com.couchbase.client.core.deps.io.netty.channel.kqueue.KQueueEventLoop.processReady(KQueueEventLoop.java:211)
|
at com.couchbase.client.core.deps.io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:289)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
|
at com.couchbase.client.core.deps.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
|
at java.base/java.lang.Thread.run(Thread.java:834)
|
jmunta-mac:cbtest jagadeshmunta$
|
|
Just to see run some other query to double check as working like below with -Dquery="SELECT 'hello' as greeting;"
|
|
jmunta-mac:cbtest jagadeshmunta$ java -Durl=172.23.96.189 -Duser=Administrator -Dpassword=password -Drun=connectClusterOnly,query -Dquery="SELECT 'hello' as greeting;" -jar target/cbtest-0.0.1-SNAPSHOT-jar-with-dependencies.jar
|
Thu Jul 30 16:07:11 PDT 2020 *** Couchbase Tester ***
|
Thu Jul 30 16:07:11 PDT 2020 -->Running connectClusterOnly
|
Thu Jul 30 16:07:12 PDT 2020 Connecting to cluster
|
Jul 30, 2020 4:07:12 PM com.couchbase.client.core.cnc.LoggingEventConsumer$JdkLogger info
|
INFO: [com.couchbase.core][CoreCreatedEvent] {"clientVersion":null,"clientGitHash":null,"coreVersion":null,"coreGitHash":null,"userAgent":"couchbase-java/0.0.0 (Mac OS X 10.14.6 x86_64; Java HotSpot(TM) 64-Bit Server VM 11.0.4+10-LTS)","maxNumRequestsInRetry":32768,"ioEnvironment":{"nativeIoEnabled":true,"eventLoopThreadCount":6,"eventLoopGroups":["KQueueEventLoopGroup"]},"ioConfig":{"captureTraffic":[],"mutationTokensEnabled":true,"networkResolution":"auto","dnsSrvEnabled":false,"tcpKeepAlivesEnabled":true,"tcpKeepAliveTimeMs":60000,"configPollIntervalMs":2500,"kvCircuitBreakerConfig":"disabled","queryCircuitBreakerConfig":"disabled","viewCircuitBreakerConfig":"disabled","searchCircuitBreakerConfig":"disabled","analyticsCircuitBreakerConfig":"disabled","managerCircuitBreakerConfig":"disabled","numKvConnections":1,"maxHttpConnections":12,"idleHttpConnectionTimeoutMs":30000,"configIdleRedialTimeoutMs":300000},"compressionConfig":{"enabled":true,"minRatio":0.83,"minSize":32},"securityConfig":{"tlsEnabled":false,"nativeTlsEnabled":true,"hasTrustCertificates":false,"trustManagerFactory":"InsecureTrustManagerFactory"},"timeoutConfig":{"kvMs":2500,"kvDurableMs":10000,"managementMs":75000,"queryMs":75000,"viewMs":75000,"searchMs":75000,"analyticsMs":75000,"connectMs":10000,"disconnectMs":10000},"loggerConfig":{"customLogger":null,"fallbackToConsole":false,"disableSlf4j":false,"loggerName":"CouchbaseLogger","diagnosticContextEnabled":false},"orphanReporterConfig":{"emitIntervalMs":10000,"sampleSize":10,"queueLength":1024},"retryStrategy":"BestEffortRetryStrategy","requestTracer":"OwnedSupplier"} {"coreId":"0xb73f96b700000001","seedNodes":[{"address":"172.23.96.189"}]}
|
Jul 30, 2020 4:07:12 PM com.couchbase.client.core.cnc.LoggingEventConsumer$JdkLogger info
|
INFO: [com.couchbase.node][NodeConnectedEvent] Node connected {"coreId":"0xb73f96b700000001","managerPort":"8091","remote":"172.23.96.189"}
|
Thu Jul 30 16:07:17 PDT 2020 Connected to cluster
|
Thu Jul 30 16:07:17 PDT 2020 -->Running query
|
Thu Jul 30 16:07:17 PDT 2020 Running Query: SELECT 'hello' as greeting;
|
Thu Jul 30 16:07:19 PDT 2020 Found row: {"greeting":"hello"}
|