Skip to content

[CLIENT-681] Fix bug where only up to 4096 bytearray objects can be used in one client command - #779

Open
DomPeliniAerospike wants to merge 265 commits into
v20from
CLIENT-681-2025
Open

[CLIENT-681] Fix bug where only up to 4096 bytearray objects can be used in one client command#779
DomPeliniAerospike wants to merge 265 commits into
v20from
CLIENT-681-2025

Conversation

@DomPeliniAerospike

@DomPeliniAerospike DomPeliniAerospike commented May 27, 2025

Copy link
Copy Markdown
Contributor

Fix bug where only up to 4096 bytearray objects can be used in one client command

Replaces the static pool with a dynamically allocated byte pool.

TODO

  • Aim for at least 80% code coverage
  • Document where this optimization is applied, if not everywhere
  • There might be an issue where dynamic_pool.h code is duplicated and increases the wheel size. Need to double check
  • Idea where one client has its dynamic pool instead of a pool for each called command
  • Run benchmark against dev and compare

Additional tickets:
CLIENT-3501

Refactored operations and ctx code by removing hardcoded SERIALIZER_PYTHON parameters

@codecov-commenter

codecov-commenter commented May 27, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.76771% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.89%. Comparing base (f8bb0d3) to head (c39d04a).

Files with missing lines Patch % Lines
src/main/dynamic_pool.c 89.61% 8 Missing ⚠️
src/main/conversions.c 92.75% 5 Missing ⚠️
src/main/convert_expressions.c 79.16% 5 Missing ⚠️
src/main/client/set_xdr_filter.c 0.00% 2 Missing ⚠️
src/main/serializer.c 85.71% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##              v20     #779      +/-   ##
==========================================
+ Coverage   85.80%   85.89%   +0.08%     
==========================================
  Files         102      103       +1     
  Lines       14977    15125     +148     
==========================================
+ Hits        12851    12991     +140     
- Misses       2126     2134       +8     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread src/main/client/operate.c
Comment thread test/new_tests/test_cdt_index.py Outdated
…nstead of required for OP_STRING_REPLACE, OP_STRING_REPLACE_ALL, and OP_STRING_REGEX_REPLACE
…and-expr' into CLIENT-3434-fix-default-policy-values-for-batch-write-commands
…test batch_parent_write's read_touch_ttl_percent with batch_apply(), batch_operate() w/ write ops, or batch_remove. But we verify that batch_write() with only Read fails in stage branch and passes on this branch
…es are applied by default when passing an empty dictionary as arg to command level policy param. This fails with stage build and passes on this PR
… still cause the batch commands to inherit from the client config batch policies. This is done by the C client if the command policy argument is NULL
…y to pass in a command level batch_write policy when populating the server with records
… interfering with any following test cases that query the whole namespace/set to check for a user key
…values are used by default when passing a command level policy dict
…tomatically to each case using a class level decorator. this reduces the verbosity of the code
Base automatically changed from CLIENT-5338-string-list-join-op-and-expr to stage September 1, 2026 18:34
@juliannguyen4
juliannguyen4 changed the base branch from stage to v20 September 10, 2026 17:28
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.

3 participants