qdrant / qdrant/qdrant-js

Some interfaces may have error

Open
#87 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
464
Forks
46
PR merge metrics
No merged PRs in 30d

Description

qdrant 1.12.4
@qdrant/qdrant-js 1.12.0
localhost not remote server

I'm sure there must be some issues within the interface

Previously, when I used upsert, it caused a random Internal Server Error, but it returned to normal after the second retry
But now I have encountered this problem again, not upsert but deleteCollection, and the current triggering probability is 100%
collectionExists always succeeds and is true, but once deleteCollection is run, it immediately fails
And similarly, if I execute it again, it will be successful
The magic is that each delete command needs to be executed twice, for example, after 'a collection' is executed twice, 'b collection' also needs to be executed twice before deletion (the first time will report an error)

     let store = await this.#store$$;
      console.log(this.#graphCollectionName$$());

      let { exists } = await store.collectionExists(
        this.#graphCollectionName$$(),
      );

      if (exists) {
        await store.deleteCollection(this.#graphCollectionName$$());
      }

error

ApiError: Internal Server Error
    at Object.fun [as deleteCollection] (c:\code\my-project\ts-test\node_modules\@qdrant\openapi-typescript-fetch\dist\cjs\fetcher.js:172:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async QdrantClient.deleteCollection (c:\code\my-project\ts-test\node_modules\@qdrant\js-client-rest\dist\cjs\qdrant-client.js:876:26)
    at <anonymous> (c:\code\my-project\ts-test\qd-test.ts:24:10) {
  headers: Headers {
    [Symbol(guard)]: 'immutable',
    [Symbol(headers list)]: HeadersList {
      cookies: null,
      [Symbol(headers map)]: Map(5) {
        'transfer-encoding' => { name: 'transfer-encoding', value: 'chunked' },
        'content-type' => { name: 'content-type', value: 'application/json' },
        'vary' => {
          name: 'vary',
          value: 'accept-encoding, Origin, Access-Control-Request-Method, Access-Control-Request-Headers'
        },
        'content-encoding' => { name: 'content-encoding', value: 'gzip' },
        'date' => { name: 'date', value: 'Tue, 26 Nov 2024 09:06:31 GMT' }
      },
      [Symbol(headers map sorted)]: null
    },
    [Symbol(realm)]: null
  },
  url: 'http://127.0.0.1:6333/collections/test1',
  status: 500,
  statusText: 'Internal Server Error',
  data: {
    status: { error: 'Service internal error: 拒绝访问。 (os error 5)' },
    time: 0.0452989
  }
}

I know this issue may be difficult to reproduce on other machines, but currently it is stably reproducing on my machine. Can we increase the number of retries to ensure this?

This is my premise issue, and I think the two may be the same problem
https://github.com/qdrant/qdrant-js/issues/84

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reproduction in qd-test.ts and the deleteCollection call, then inspect the request path shown in qdrant-client.js and fetcher.js. Compare this behavior with issue 84 and confirm whether the first deletion request fails consistently, what response is returned, and whether retry behavior is an appropriate resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.