java.lang.IllegalStateException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • *After this error occurs I do have to reconnect to Couchbase (meaning restart my application) because all subsequent requests are either failing or timing out * Exception stack trace {noformat} 2016-08-04 13:27:09,586 TRACE [cb-io-1-3] c.c.c.c.e.q.QueryHandler [,,] [] [] [Slf4JLogger.java:75] "hotel::6::res::160", "reservationStatus": "Guaranteed", "roomNumber": "202" }, { "additionalGuests": [], "primaryGuest": [ "Kristian", "Ackerman", null, 0 ], "reservationId": "hotel::6::res::161", "reservationStatus": "Guaranteed", "roomNumber": "203" }, { "additionalGuests": [], "primaryGuest": [ "Robert", "Hoffmann", null, 0 ], "reservationId": "hotel::6::res::158", "reservationStatus": "Guaranteed", "roomNumber": "204" } ], "status": "success", "metrics": { "elapsedTime": "54.425982ms", "executionTime": "54.378654ms", "resultCount": 9, "resultSize": 2862, "sortCount": 9 } } [ () ] java.lang.IllegalStateException: Error parsing query response (in TRANSITION) at " [ "Stefanie", "Papst", null, 0 ], "reservationId":", enable trace to see response content at com.couchbase.client.core.endpoint.query.QueryHandler.transitionToNextToken(QueryHandler.java:443) at com.couchbase.client.core.endpoint.query.QueryHandler.parseQueryResponse(QueryHandler.java:363) at com.couchbase.client.core.endpoint.query.QueryHandler.decodeResponse(QueryHandler.java:230) at com.couchbase.client.core.endpoint.query.QueryHandler.decodeResponse(QueryHandler.java:70) at com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:229) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:428) at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277) at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264) at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:243) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:962) at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:485) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:399) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:371) at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:745) {noformat} com.couchbase.client.core.endpoint.query.QueryHandler - In the else clause the parsing fails if lastChunk is set to true and the current peek ends with one of my query fields. As far as I understand lastChunk indicates that it is the last HTTP chunk - but even in the last HTTP chunk there could be one or more peeks before the couchbase internal (i.e. "status" or "metrics") peeks. The full query result (run using CBQ web UI) is attached in the data.json file. {code:java} private byte transitionToNextToken(boolean lastChunk) { int endNextToken = findNextChar(responseContent, ':'); if (endNextToken < 0 && !lastChunk) { return queryParsingState; } if (endNextToken < 0 && lastChunk && queryParsingState >= QUERY_STATE_STATUS) { return QUERY_STATE_NO_INFO; } byte newState; ByteBuf peekSlice = responseContent.readSlice(endNextToken + 1); String peek = peekSlice.toString(CHARSET); if (peek.contains("\"signature\":")) { newState = QUERY_STATE_SIGNATURE; } else if (peek.endsWith("\"results\":")) { newState = QUERY_STATE_ROWS_DECIDE; } else if (peek.endsWith("\"status\":")) { newState = QUERY_STATE_STATUS; } else if (peek.endsWith("\"errors\":")) { newState = QUERY_STATE_ERROR; } else if (peek.endsWith("\"warnings\":")) { newState = QUERY_STATE_WARNING; } else if (peek.endsWith("\"metrics\":")) { newState = QUERY_STATE_INFO; } else { if (lastChunk) { IllegalStateException e = new IllegalStateException("Error parsing query response (in TRANSITION) at \"" + peek + "\", enable trace to see response content"); if (LOGGER.isTraceEnabled()) { LOGGER.trace(responseContent.toString(CHARSET), e); } throw e; } else { //we need more data return queryParsingState; } } sectionDone = false; return newState; } {code}
    via by Peter Rainer,
    • java.lang.IllegalStateException: Error parsing query response (in TRANSITION) at " [ "Stefanie", "Papst", null, 0 ], "reservationId":", enable trace to see response content at com.couchbase.client.core.endpoint.query.QueryHandler.transitionToNextToken(QueryHandler.java:443) at com.couchbase.client.core.endpoint.query.QueryHandler.parseQueryResponse(QueryHandler.java:363) at com.couchbase.client.core.endpoint.query.QueryHandler.decodeResponse(QueryHandler.java:230) at com.couchbase.client.core.endpoint.query.QueryHandler.decodeResponse(QueryHandler.java:70) at com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:229) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) at com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:428) at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277) at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264) at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:243) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:292) at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:278) at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:962) at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:485) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:399) at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:371) at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:745)
    No Bugmate found.