jrhenderson1988 opened a new pull request, #2837: URL: https://github.com/apache/iggy/pull/2837
## Which issue does this PR close? <!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123. --> Closes #2826 ## Rationale Brings the `UsersClient` interface in the async package up to parity with the `UsersClient` in the blocking package. Implements all the new methods in the async TCP implementation. ## What changed? Prior to this PR, only the `login` and `logout` methods were available on the async `UsersClient` whereas the blocking version had another ~7 methods (plus overloads). This PR adds the missing methods and implements them along with integration tests, bringing the async version of `UsersClient` to parity with the blocking version. I also implemented some helper methods on `AsyncTcpConnection`, similar to those on the blocking `InternalTcpClient` to make the new methods and any future methods a bit more succinct. <!-- 2-4 sentences. Problem first (before), then solution (after). GOOD: "Messages were unavailable when background message_saver committed the journal and started async disk I/O before completion. Polling during this window found neither journal nor disk data. The fix freezes journal batches in the in-flight buffer before async persist." GOOD: "When many small messages accumulate in the journal, the flush passes thousands of IO vectors to writev(), exceeding IOV_MAX (1024 on Linux)." BAD: - Walls of text - "This PR adds..." (we can see the diff) --> ## Local Execution - Passed - Pre-commit hooks - I installed prek after pushing up my code but noticed that it doesn't seem to support Java when I ran it. <!-- You must run your code locally before submitting. "Relying on CI" is not acceptable - PRs from authors who haven't run the code will be closed. Did you have `prek` installed? It runs automatically on commit and covers all project languages. See [CONTRIBUTING.md](https://github.com/apache/iggy/blob/master/CONTRIBUTING.md). --> ## AI Usage Only AI usage was Jetbrains local models for full line code completion. Verified code works correctly by running tests and eyeballing it. I could explain every line if asked. <!-- If AI tools were used, please answer: 1. Which tools? (e.g., GitHub Copilot, Claude, ChatGPT) 2. Scope of usage? (e.g., autocomplete, generated functions, entire implementation) 3. How did you verify the generated code works correctly? 4. Can you explain every line of the code if asked? If no AI tools were used, write "None" or delete this section. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
