Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run faild:io.grpc.StatusRuntimeException: UNKNOWN #705

Open
xinuo opened this issue Nov 28, 2023 · 6 comments
Open

Run faild:io.grpc.StatusRuntimeException: UNKNOWN #705

xinuo opened this issue Nov 28, 2023 · 6 comments

Comments

@xinuo
Copy link

xinuo commented Nov 28, 2023

When I run SimpleExample.java, it prompts an error and the following is the error message.

16:20:06.738 [main] ERROR io.milvus.client.AbstractMilvusGrpcClient -- CreateCollectionRequest RPC failed! Collection name:java_sdk_example_simple
io.grpc.StatusRuntimeException: UNKNOWN
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:271)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:252)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:165)
at io.milvus.grpc.MilvusServiceGrpc$MilvusServiceBlockingStub.createCollection(MilvusServiceGrpc.java:4439)
at io.milvus.client.AbstractMilvusGrpcClient.createCollection(AbstractMilvusGrpcClient.java:503)
at io.milvus.client.MilvusServiceClient.lambda$createCollection$5(MilvusServiceClient.java:325)
at io.milvus.client.MilvusServiceClient.retry(MilvusServiceClient.java:256)
at io.milvus.client.MilvusServiceClient.createCollection(MilvusServiceClient.java:325)
at com.example.vectordbtest.Test.main(Test.java:79)

At the same time, I see the milvus service presenting like this:

milvus-standalone | [2023/11/28 08:25:23.616 +00:00] [INFO] [proxy/meta_cache.go:887] ["expire all shard leader cache"] [database=default] [collections="[java_sdk_example_simple]"]
milvus-standalone | [2023/11/28 08:25:23.821 +00:00] [INFO] [datacoord/meta.go:1287] ["UpdateChannelCheckpoint done"] [vChannel=by-dev-rootcoord-dml_2_445948396393078911v0] [ts=445948867039461377] [msgID="\ufffdu\u0004+\ufffdS0\u0006"] [time=2023/11/28 08:25:23.704 +00:00]
milvus-standalone | [2023/11/28 08:25:23.822 +00:00] [INFO] [datanode/flow_graph_time_tick_node.go:142] ["UpdateChannelCheckpoint success"] [channel=by-dev-rootcoord-dml_2_445948396393078911v0] [cpTs=445948867039461377] [cpTime=2023/11/28 08:25:23.704 +00:00]
milvus-standalone | [2023/11/28 08:25:25.262 +00:00] [INFO] [rootcoord/root_coord.go:945] ["received request to create collection"] [traceID=29087208f3be102d2f8c6d727dcc07bd] [dbName=default] [name=java_sdk_example_simple] [role=rootcoord]
milvus-standalone | [2023/11/28 08:25:25.263 +00:00] [INFO] [rootcoord/create_collection_task.go:298] ["assign partitions when create collection"] [collectionName=java_sdk_example_simple] [partitionNames="[_default]"]
milvus-standalone | [2023/11/28 08:25:25.263 +00:00] [INFO] [rootcoord/timeticksync.go:380] ["add dml channels"] [channels="[by-dev-rootcoord-dml_8]"]
milvus-standalone | [2023/11/28 08:25:25.263 +00:00] [WARN] [rootcoord/create_collection_task.go:462] ["add duplicate collection"] [collection=java_sdk_example_simple] [ts=445948867445522434]
milvus-standalone | [2023/11/28 08:25:25.263 +00:00] [INFO] [rootcoord/root_coord.go:981] ["done to create collection"] [traceID=29087208f3be102d2f8c6d727dcc07bd] [role=rootcoord] [name=java_sdk_example_simple] [ts=445948867445522434]
milvus-standalone | [2023/11/28 08:25:26.615 +00:00] [INFO] [proxy/meta_cache.go:887] ["expire all shard leader cache"] [database=default] [collections="[java_sdk_example_simple]"]

But what confuses me is that when I run hello_milvus.py, it is successful. This means that milvus should be fine.

@yhmo
Copy link
Contributor

yhmo commented Dec 4, 2023

Which version of your java sdk and milvus?
I just use Java SDK 2.3.3 and Milvus 2.3.3 to run the SimpleExample.java, it works well.

@alexanderankin
Copy link

alexanderankin commented Jan 6, 2024

i had to set grpc version to io.grpc:grpc-netty:1.60.1

here is a reproducible test case alexanderankin/how-to-itest@32ddec4 - remove the line and it fails

@alexanderankin
Copy link

if its the same issue I'm facing, here is the relevant part of the stack trace:

Caused by: java.lang.UnsupportedOperationException: null
	at io.grpc.netty.AbstractHttp2Headers.isEmpty(AbstractHttp2Headers.java:40) ~[grpc-netty-1.46.0.jar:1.46.0]
	at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onHeadersRead(DefaultHttp2ConnectionDecoder.java:419) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onHeadersRead(DefaultHttp2ConnectionDecoder.java:352) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onHeadersRead(Http2InboundFrameLogger.java:56) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2FrameReader$2.processFragment(DefaultHttp2FrameReader.java:476) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readHeadersFrame(DefaultHttp2FrameReader.java:484) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:253) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:159) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:188) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:393) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:453) ~[netty-codec-http2-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.101.Final.jar:4.1.101.Final]
	at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

the same method is implemented in 1.60.1

@yhmo
Copy link
Contributor

yhmo commented Jan 15, 2024

i had to set grpc version to io.grpc:grpc-netty:1.60.1

here is a reproducible test case alexanderankin/how-to-itest@32ddec4 - remove the line and it fails

The java.lang.UnsupportedOperationException caused by io.grpc.netty.AbstractHttp2Headers.isEmpty has been fixed in the v2.3.4 by upgrading the grpc version to 1.59.1.

But this error I think is different, the root cause is unknown:

io.grpc.StatusRuntimeException: UNKNOWN
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:271)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:252)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:165)

@alexanderankin
Copy link

I was seeing those same stack trace lines in the top half of my exception stack trace, but I omitted them, because I didn't think it was relevant. The two parts of the overall stack trace happen on different threads, in my understanding

@alexanderankin
Copy link

thank you for fixing this in latest release! verified and upgraded my repo of examples in alexanderankin/how-to-itest@e6be074

hope we hear back from the original poster to find if that is the same issue or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants