Conversation
151f14c to
1fd07da
Compare
|
📝 Updated PR description with Changes in this update:
|
jeremyprime
left a comment
There was a problem hiding this comment.
Multiple incorrect examples in both files. Here is AI summary:
client-pool.mdx:
| Section | Language | Issue |
|---|---|---|
| Create a Pool | Node | Should be two args: ClientPool.create(clientConfig, { maxSize: 10, ... }) |
| Borrow and Return | Python (manual) | _get_or_create_client() is private — remove manual example, keep only borrow() context manager |
| Borrow and Return | Java | acquire().get() returns PooledGlideClient (AutoCloseable). Fix: try (var client = pool.acquire().get()) { client.set(...); } |
| Borrow and Return | Go | Acquire(ctx) returns (int64, error), not a client. Need GetClient(clientID) then defer client.Close() |
| Pool Metrics | Java | No PoolMetrics class — use pool.getIdleCount(), pool.getActiveCount(), pool.getTotalCount() |
| Pool Metrics | Node | pool.metrics() → pool.getMetrics() |
| Pool Metrics | Go | No Metrics() struct — use pool.IdleCount(), pool.ActiveCount(), pool.TotalCount() |
| Close the Pool | Node | pool.close() is synchronous — remove await |
isolated-scope.mdx:
| Section | Language | Issue |
|---|---|---|
| Acquire a Scope | Node | No client.scopedConnection() — use IsolatedScope.acquire(client, connectionRequestBytes, routingKey) |
| Acquire a Scope | Node | scope.close() / scope.release() is synchronous — remove await |
| Acquire a Scope | Go | No ScopeOptions struct — use positional args: client.ScopedConnection(ctx, timeout, routingKey) |
Fixed in fb340ea. |
Signed-off-by: kiro-agent <kiro-agent@users.noreply.github.com>
Signed-off-by: kiro-agent <kiro-agent@users.noreply.github.com>
…pe guides Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com>
…ing commands Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com>
fb340ea to
9b32fdc
Compare
|
Will keep this as draft until conn pool and scoped conn issues are addressed: https://github.com/valkey-io/valkey-glide/issues?q=is%3Aissue%20state%3Aopen%20label%3Apool%2Fscope |
Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com>
Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com>
Summary
Document the Client-Instance Pool, Isolated Execution Scopes, and Abandon Detection features across Python, Java, Node.js, and Go.
Source Commits
be92bbc— feat: cross-language client pool and isolated execution scopes (#6338)65e607b— feat: add abandon detection for pool-borrowed clients (#6642)Changes
how-to/client-pool.mdx— guide covering pool configuration, creation, borrow/release patterns, metrics, abandon detection, and limitationshow-to/isolated-scope.mdx— guide covering scope acquisition, WATCH/MULTI/EXEC OCC retry patterns, cluster mode routing, and limitationsastro.config.mjssidebar to include both new pagesabandon_timeout_msto the configuration tableContext
PR #6338 added a cross-language client-instance pool and isolated execution scopes. PR #6642 followed up with abandon detection — a background monitor that reclaims pool-borrowed clients after a configurable inactivity timeout. The timer resets on every command sent, and blocking commands are automatically excluded. These guides document the public API for all features with practical code examples in all four languages.
cc @jduo @jeremyprime
This PR was generated by the automated documentation pipeline.