questdb / questdb/java-questdb-client

1 million of district symbols limit

Open
#80 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
10
Forks
6
Avg merge
6h 40m
Merged PRs (30d)
2

Description

To reproduce

Review point M6 in https://github.com/questdb/java-questdb-client/pull/66#issuecomment-5183155169 is very valid

M6 — At the 1M cap, the error message's remedy is not performable through SenderPool (out-of-diff). getOrAddSymbol says "close this sender and build a new one", but PooledSender.close() (:153) gives the delegate back rather than closing it, and reset() does not clear globalSymbolDictionary. A delegate that hit the cap is handed to the next borrower still full, throwing on every new symbol value. Only incidental reapIdle recovers it.

QuestDB version:

latest

OS, in case of Docker specify Docker and the Host OS:

any

File System, in case of Docker specify Host File System:

any

Full Name:

Alex Pelagenko

Affiliation:

QuestDB

Have you followed Linux, MacOs kernel configuration steps to increase Maximum open files and Maximum virtual memory areas limit?
  • Yes, I have
Additional context

No response

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

Read PooledSender.close() around line 153, then trace reset(), globalSymbolDictionary, and getOrAddSymbol through SenderPool. Reproduce the 1M-symbol-cap path and verify that a delegate borrowed after close/reset can accept new symbol values without relying on incidental reapIdle, while preserving the documented remedy.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.