feat: add GenericLruCache, ConcurrentHashMap, MurmurHash, and Precond… by dalingmeng · Pull Request #21 · apache/paimon-cpp · GitHub
Skip to content

feat: add GenericLruCache, ConcurrentHashMap, MurmurHash, and Precond… - #21

Merged
leaves12138 merged 1 commit into
apache:mainfrom
dalingmeng:feat/add-cache-preconditions-utils
May 29, 2026
Merged

feat: add GenericLruCache, ConcurrentHashMap, MurmurHash, and Precond…#21
leaves12138 merged 1 commit into
apache:mainfrom
dalingmeng:feat/add-cache-preconditions-utils

Conversation

@dalingmeng

@dalingmeng dalingmeng commented May 26, 2026

Copy link
Copy Markdown
Contributor

Purpose

No Linked issue.

Introduce additional common utility modules to the apache/paimon-cpp codebase, including a generic LRU cache, concurrent hash map, murmur hash utilities, and precondition checks.

Tests

generic_lru_cache_test.cpp — LRU eviction, TTL expiration, concurrent access
concurrent_hash_map_test.cpp — Insert, lookup, delete, and multi-threaded correctness
murmurhash_utils_test.cpp — Hash computation correctness and consistency
preconditions_test.cpp — CheckState and CheckArgument validation

API and Format

No API or format changes.

Documentation

No documentation changes.

Generative AI tooling

@leaves12138 leaves12138 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR. I reviewed the new GenericLruCache, ConcurrentHashMap, MurmurHashUtils, Preconditions, tests, and license/notice updates. I did not find any blocking issue. One minor non-blocking suggestion: Preconditions can probably include only fmt/format.h instead of fmt/base.h + fmt/core.h + fmt/format.h + fmt/ranges.h, unless the extra headers are intentionally needed.

@leaves12138
leaves12138 merged commit 7f45322 into apache:main May 29, 2026
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.

2 participants