Skip to content

Internal error after upgrading to 1.16.1 from 1.16.0 #7632

@boris-petrov

Description

@boris-petrov

Current Behavior

I updated my Qdrant version from 1.16.0 to 1.16.1 and one of my tests started failing. Consistently.

Steps to Reproduce

I'm using the Java SDK (version 1.16.1). Here's the stack trace and error message:

13:24:34.017 [grpc-default-executor-1] ERROR io.qdrant.client.QdrantClient - Search operation failed
io.grpc.StatusRuntimeException: INTERNAL: Service internal error: 1 of 1 read operations failed:
  Service internal error: task 29142 panicked with message "length must be greater than zero"
        at io.grpc.Status.asRuntimeException(Status.java:532)
        at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:538)
        at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:564)
        at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:72)
        at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:729)
        at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:710)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
        at java.base/java.lang.Thread.run(Thread.java:1474)
13:24:34.019 [thread-name] ERROR c.p.d.p.search.AbstractSearchSession - Error getting search results
java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: INTERNAL: Service internal error: 1 of 1 read operations failed:
  Service internal error: task 29142 panicked with message "length must be greater than zero"
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:292)
        at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:255)
        at com.google.common.util.concurrent.Platform.get(Platform.java:54)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:253)
        at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91)
        ... user code

The code that causes this:

var minimumRelevanceScore = 0.7;
var search = Points.SearchPoints.newBuilder()
	.setCollectionName("myCollection")
	.addAllVector(textEmbedding.vectorAsList())
	.setWithVectors(WithVectorsSelectorFactory.enable(false))
	.setWithPayload(WithPayloadSelectorFactory.include(List.of("id")))
	.setScoreThreshold((float) ((minimumRelevanceScore * 2) - 1))
	.setOffset(0)
	.setLimit(50)
	.build();

var results = client.searchAsync(search).get();

Expected Behavior

Not blow up.

Context (Environment)

Java 25.0.1
Qdrant 1.16.1 via Docker image

I'm not sure how more I can help. This particular search is not doing anything special, I have no idea why it might be crashing like that. But at least it's a minor upgrade from 1.16.0 to 1.16.1 so it should be easier for you to bisect this. Also, if you tell me how to enable debug logs or something in Qdrant, I can provide those.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions