Skip to content

[seekdb][memory] Reduce small-object memory overhead#1038

Open
hnwyllmm wants to merge 3 commits into
masterfrom
task/2026071000117341494
Open

[seekdb][memory] Reduce small-object memory overhead#1038
hnwyllmm wants to merge 3 commits into
masterfrom
task/2026071000117341494

Conversation

@hnwyllmm

Copy link
Copy Markdown
Member

Task Description

SeekDB lite uses only a very small set of runtime objects in single-node scenarios, but several inherited OceanBase containers still reserve large default bucket arrays or per-thread allocator structures. Those small but always-resident allocations add up in the sub-1MB memory classes.

Solution Description

Shrink low-cardinality hash map/tablet/stat/DDL buckets for seekdb-lite usage, reduce MDS/TX allocator concurrency, cap ParamCharsType SEArray block size, and remove unused Oracle NUMBER cast boundary arrays. MemDumpContext is intentionally excluded because it is handled separately.

Passed Regressions

  • ./build.sh release --init --ob-make
  • ob-make
  • Local seekdb smoke test for DDL/DML/DECIMAL/multi-parameter query
  • Local 300-table smoke test to verify smaller bucket counts are not capacity limits
  • Runtime memory check through oceanbase.v$ob_memory; directly attributable reduction is about 4.63 MiB

Upgrade Compatibility

No storage format, protocol, SQL syntax, or upgrade compatibility impact expected.

Other Information

MR contains one commit: 0fde6e1f7ac Reduce small-object memory overhead.

Release Note

@hnwyllmm

Copy link
Copy Markdown
Member Author

The mapping Dima issue is about optimizing small memory blocks.

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

Successfully merging this pull request may close these issues.

1 participant