Skip to content

Conversation

@juliannguyen4
Copy link
Collaborator

@juliannguyen4 juliannguyen4 commented Aug 4, 2025

Relevant files:

  • docs/
  • aerospike_helpers/

juliannguyen4 and others added 30 commits May 6, 2025 13:11
aerospike_s.dynamic_config property should be private so I did not expose it in the Python client

Extra changes:
* Fix all memory leaks coming from as_config object
* aerospike.Client(): moved config initialization code earlier in the call to properly clean up as_config instance.
* Add config level metrics policy to override latency* options
* Bundle libyaml with wheels
…eels (#772)

- Remove support for CentOS 7 Linux
- Fix cat 1 stage tests breaking by installing libyaml
- Created new helper functions to convert Python integers to fixed width C integer types, as well as a Python unicode object to a C string. These can raise TypeError, ValueError or other Python native exceptions, but not AerospikeError exceptions.
- Refactored MetricsPolicy parsing code to use those helper functions, but this code chains ParamError to those two native exceptions because I implemented metrics v1's MetricsPolicy to raise ParamError to the user, so I decided to make metrics v2 also raise ParamError to be consistent.
- aerospike.{ConfigProvider,Transaction}: use the two helper functions above; there is no breaking change when calling their constructors. but since the helper functions now raise a different error message, we stop checking the error message in our test code. Changing error messages are not considered breaking API changes.
…n invalid UDF argument (#780)

* Also make Scan.apply() use same argument checking code as Query.apply()
#785)

Prep work for sindex expression changes

Extra changes:
Add test coverage for cleaning up ctx if query.where() fails and for passing an invalid predicate type

Notes:

- There's a TODO about how static pool is used in where.c, but Dominic is currently working on a PR to replace it with dynamic pool, so I think we can leave that as-is for now. This PR shouldn't change the behavior of the static pool
- No breaking changes in predicates.c, since predicates are also used in client.query_apply()
…" is set. Also unskip the cluster_name test case (#788)
…ig dictionary (#790)

- Added pythoncapi_compat.h so we can backport newer C-API calls to older Python versions
- Remove unused argument in convert_pyobject_to_str() helper function. A similar function doesn't exist in pythoncapi_compat.h
Allow predicates to take in None as a bin name

Extra changes:

CI/CD: Fix bug where tests.yml fails when a commit is pushed to a central branch
CI/CD: Remove improper usage of Codecov flags

Notes:
- Smoke tests fail with secure.qe.docker.aerospike.com images because there is no community edition image available in that registry. All the tests pass with the enterprise edition images so this is ok.
…mplicit function warnings when compiling the Python client (#799)

- Fix add_op() missing function declaration for batch_operate.c, batch_write.c
- Fix raise_exception() missing function declaration for src/main/client/metrics.c
- Fix aerospike_query_partitions() missing function declaration in src/main/query/foreach.c
- Fix convert_pyobject_to_uint32_t() missing function declarations in src/main/transaction/type.c
…as_error object to avoid overriding the main error (#794)

When building the Python client on Windows, statically link against the pthread library so the Python client's C code can make calls to functions in pthread.h. pthread is statically linked twice overall (against the C client and the Python client)
juliannguyen4 and others added 9 commits July 11, 2025 13:28
)

- CI/CD: Enable mutual TLS authentication for running the create_pki_user test. Create client certificate and private signing key for the "superuser" user

Extra changes:

- Add missing documentation for aerospike.AUTH_PKI constant
- Docs: Fix incorrect parameter name "username" by changing it to "user" for Client.admin_{create_user,drop_user,change_password,set_password,grant_roles,revoke_roles}()
- Fix invalid usage of nullcontext in tests
- Replace metadata section in dynamic config with version field
- Tend interval must be at least 250 ms now
- [CLIENT-3500] Fix seg fault when we run a paginated query with a partition filter and then re-run the same query object with another partition filter that has different "begin" and "count" values
- [CLIENT-3543] Support client identifier user agent
… the server (#804)

Extra changes:
- [CLIENT-3572] Update PKI error message when trying to set a password for a PKI user, or when trying to log in as a PKI user using a password
- [CLIENT-3455] Support circuit breaker progressive back off
- [CLIENT-3618] Add support for distributing reads and writes across random nodes
- [CLIENT-3633] Docs: add a separate section for aerospike's index_type constants
- CI/CD: Replace old setup.py calls to build and install the client when generating the code coverage report. Using setup.py install was causing the package to be named "UNKNOWN"
- Make admin API tests more resilient to timeout errors (false positive test results)
- Attempt to fix Sphinx linkcheck job timing out for certain links by:

1. Replacing some redirected links with the destination links.
2. Update doc/requirements.txt packages
3. Increasing link timeout by 4x
…ors" (#808)

[CLIENT-3633] Docs: Clear up that bin name parameter should be explicitly set to None for Query.where_with_{index_name,expr}()
@aerospike-client-github-bot aerospike-client-github-bot merged commit fd97bb5 into master Aug 4, 2025
41 checks passed
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