scylladb / scylladb/python-rs-driver
Consider adding custom payload on requests
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6
- Forks
- 7
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 9
Description
Six of the seven tests in test/cqlpy/test_native_transport.py (:35, :42, :51, :59,
:70, :77) set the CQL CUSTOM_PAYLOAD flag on QUERY/EXECUTE/BATCH via the public Python
kwarg custom_payload=.
Currently the Rust driver does not have support for setting custom payloads on request so implementing this issue would require first implementing it in the Rust driver. We need to think whether We want to have this feature in our driver. The argument for implementing it is that
it is public API in every other driver except from cpp-rs (https://github.com/scylladb/cpp-rs-driver/blob/master/README.md?plain=1#L241-L257) and it will be needed for python-rs for test migration.
The argument against is as mentioned in the readme of cpp-rs:
Those functions need features that are not supported by ScyllaDB, or are only experimental.
We will most likely not work on them (until ScyllaDB supports those features), but we
may consider external contributions.
This functionality is not supported by ScyllaDB so it is not high priority to implement it now. I also believe that the test that uses custom payloads in old python driver could be rewritten using raw sockets so I think it is not a blocker.
@Lorak-mmk , @wprzytula what is you opinion on that.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the six custom-payload cases in test/cqlpy/test_native_transport.py at lines 35, 42, 51, 59, 70, and 77, then review the Rust driver's request handling. Determine whether custom payloads should be supported for QUERY, EXECUTE, and BATCH, and whether the tests should migrate or use raw sockets; done requires a recorded project decision and corresponding behavior or test changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100