ethanlin01x commented on issue #3742:
URL: https://github.com/apache/iggy/issues/3742#issuecomment-5093521785
Thanks @slbotbm for the assignment, and @bartoszkobylinski for the traces.
Reproduced on `master` first: connect a client, kill the server, restart it,
probe again, once per construction path.
```
A: IggyClient(addr) + manual login_user
before_restart ok
while_down blocked (no response in 10s)
after_restart RuntimeError: Unauthenticated
B: IggyClient.from_connection_string(
"iggy://iggy:[email protected]:8090?reconnection_retries=unlimited&reconnection_interval=1s")
before_restart ok
while_down blocked (no response in 10s)
after_restart ok
```
Two runs, identical (macOS arm64, TCP loopback, `maturin develop` build of
`master`). A reproduces the reported traceback exactly, and `auto_login` is the
only variable between the two paths.
Two takeaways:
- **B works today.** `from_connection_string` is already exported and the
connection string carries the credentials, so the hand-rolled
connect/login/probe loop should not be needed. @bartoszkobylinski, does it
recover for you too? If not, that would point at the Rust client rather than
the Python surface.
- **Reconnection is on by default**, not unreachable: `while_down` parks
waiting for the server instead of failing. What is missing is the ability to
*tune* it. So the gap narrows to `AutoLogin::Disabled` being hardcoded on the
constructor path, plus configuration only being reachable as an untyped string.
--
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]