Conversation
for more information, see https://pre-commit.ci
|
Good day @KShivendu @tellet-q - could you please review and merge this PR? Thank you in advance! |
There was a problem hiding this comment.
Pull Request Overview
This PR adds a basic implementation of an Apache Cassandra® engine to the benchmark suite. Key changes include:
- Adding a Cassandra driver dependency and a new single-node Cassandra server via Docker Compose.
- Implementing Cassandra clients for uploading, searching, configuration, and query parsing.
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added dependency for the Cassandra driver |
| engine/servers/cassandra-single-node/docker-compose.yaml | Introduced a Docker Compose file for a single-node Cassandra server |
| engine/clients/client_factory.py | Registered Cassandra engine implementations |
| engine/clients/cassandra/*.py | Implemented Cassandra clients for upload, search, configuration, and condition parsing |
| engine/clients/cassandra/README.md | Added documentation for setup and usage of the Cassandra engine |
Files not reviewed (1)
- experiments/configurations/cassandra-single-node.json: Language not supported
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds a minimal Apache Cassandra® engine implementation to the benchmark suite. Key changes include:
- Adding a dependency on the cassandra-driver in pyproject.toml.
- Introducing a new docker-compose configuration and server files for a single-node Cassandra setup.
- Implementing new client modules for Cassandra upload, search, configuration, and query parsing.
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added cassandra-driver dependency to support the new engine. |
| engine/servers/cassandra-single-node/docker-compose.yaml | Introduced a Docker configuration for deploying Cassandra. |
| engine/clients/client_factory.py | Updated factory to include Cassandra configurator, uploader, and searcher. |
| engine/clients/cassandra/upload.py | Added Cassandra upload functionality. |
| engine/clients/cassandra/search.py | Added Cassandra search functionality with support for filtered searches. |
| engine/clients/cassandra/parser.py | Provided a parser for building CQL conditions. |
| engine/clients/cassandra/configure.py | Implemented Cassandra keyspace and table setup along with index creation. |
| engine/clients/cassandra/config.py | Defined configuration variables for Cassandra. |
| engine/clients/cassandra/init.py | Exported the Cassandra engine components. |
| engine/clients/cassandra/README.md | Documented setup and usage of the Cassandra engine. |
Files not reviewed (1)
- experiments/configurations/cassandra-single-node.json: Language not supported
Comments suppressed due to low confidence (1)
engine/clients/cassandra/search.py:100
- Injecting filter conditions into the CQL query via string formatting could pose a security risk if the inputs are not properly sanitized. Consider using parameterized queries to mitigate potential injection issues.
query_with_conditions = cls.filtered_search_query_template.format(conditions=filter_conditions)
|
@tellet-q could you please review, approve and merge? I've rebased from |
|
Tagging @KShivendu here as I missed adding in my last comment. Thank you in advance! |
This PR adds a very minimal and basic implementation of the Apache Cassandra® engine to the benchmark tool / suite.