* Add clang-format for code style enforcement (#336)
Cherry-picked and re-applied clang-format configuration, CI workflow,
Makefile targets, and DEVELOPMENT.md docs from master. Source files
reformatted against the 2.2.x branch codebase.
* Concurrent ubuntu test jobs for faster CI (#337)
* Concurrent ubuntu test jobs for faster CI
* Prevent duplicate workflow runs on push+PR by filtering branches
* Fixed coverage workflow
* Concurrent ASAN, TSAN, and UBSAN test jobs using matrix strategy
* Updated org from redislabs to redis (#339)
* Fix rate-limit induced hanging at test completion (#340)
* Fix rate-limit induced hanging at test completion
* include a null check for conns in all_connections_idle
* Remove crufty ctx reference
* Extend CI with higher shard count scenario.
* Extra logging on 99 shards scenario
* Verbose was already defined on CI. Using 49 shards to expedite CI
* Using RLTEST_DEBUG to avoid overriding old behaviour
* Shard count 99 in rate-limiting test
---------
Co-authored-by: fcostaoliveira <filipe@redis.com>
* configure: Respect user-supplied CXXFLAGS (#342)
* Add AGENTS.md and CLAUDE.md for AI assistant guidelines (#343)
Add documentation to help AI assistants work effectively with the
memtier_benchmark codebase, following the https://agents.md/ conventions.
AGENTS.md includes:
- Project overview and repository structure
- Build system and commands (autotools)
- Code style (clang-format)
- Testing with RLTest (standalone, cluster, TLS, sanitizers)
- Key technical details
- Common development tasks
- Debugging guide (GDB, crash handler, core dumps, sanitizers)
- License header requirements
CLAUDE.md points to AGENTS.md for shared guidelines.
References:
- https://agents.md/ - Standard for AI agent documentation
- https://docs.anthropic.com/en/docs/agents - Anthropic agent guidelines
* Use latest rltest and set cluster-start-timeout to accomodate large shard count (#345)
* CI: trigger workflows on semver release branches
Add branch pattern '[0-9]+.[0-9]+' to push/pull_request triggers for
ci, code-style, asan, tsan, and ubsan workflows so CI runs on PRs
targeting release branches like 2.2.
* Fix hang when using --reconnect-interval with --rate-limiting (#348)
The rate-limiting timer was only created on the first connection
(when get_reqs_processed() == 0). After a reconnect triggered by
--reconnect-interval, disconnect() properly freed the timer, but
handle_event() never recreated it because requests had already been
processed. This left m_request_per_cur_interval permanently at 0,
causing fill_pipeline() to return immediately on every call.
Move timer creation outside the first-connection guard so it is
recreated on every successful connect/reconnect when m_event_timer
is NULL.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Bumping version to 2.2.2
---------
Co-authored-by: Tristan Schneiter <tschneiter@figma.com>
Co-authored-by: LINKIWI <LINKIWI@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>