SunilKumarPradhan commented on issue #4420: URL: https://github.com/apache/iggy/issues/4420#issuecomment-6095007666
Hi @justinmclean, I have a working change for this issue. Before I open the PR, I have a few questions. The questions I have : i. How do I cover the other transports? The Rust SDK wires `get_cluster_metadata` for TCP, QUIC, HTTP and WebSocket, and the Python client uses the same wrapper. Do you want one call per transport in `test_http_config.py`, `test_quic_config.py` and `test_websocket_config.py`, or is TCP enough? ii. How do I test more than one node from Python? The Python suite runs against one server without clustering. Is there a supported way to start a cluster-enabled server for pytest, or do I leave multi-node cases to `core/integration/tests/cluster`? iii. What do you want for the permission check? The server lets any logged-in user call this. My test `test_get_cluster_metadata_needs_no_permission` pins that. Do you want it pinned, or removed so the server can add a check later without breaking the Python suite? iv. What name do you want for `ip`? (optional) The server can return a host name in `ip` when an advertised address is set. I kept `ip` to match Rust, Java, Go and C#. Do you want to keep it, or name it `address` in Python? v. Is this test a known flake? (optional) In one full run, `test_producer.py::TestProducerValidationAndRetries::test_background_write_reconnects_after_server_restart` failed with `Restartable Iggy server did not publish its TCP address` (a 15 second wait on a debug build). It passed when run alone and in a second full run. I will open the PR after your answers. Thank you. -- 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]
