Closed moguchev closed 3 months ago
@moguchev Please squash your commits into set of independent changes. Correction commit affecting files changed in other PR commit should be squashed.
@moguchev Please squash your commits into set of independent changes. Correction commit affecting files changed in other PR commit should be squashed.
done
@avelanarius Could you please review this PR to ensure everything is correct?
I've changed go:build
tags in unit
tests and in integration
tests.
Also I don't know why ./integration.sh tablet
fails. My function should not affect on it.
Also it's better to use ShardAwareRoutingInfo
with enhancement from #165 because HostName
will have a lot of calls in app.
@avelanarius Could you please review this PR to ensure everything is correct?
@avelanarius ping
@dkropachev Could you look at this PR?
@moguchev , thanks for contribution, I see you put lots of effort into it.
@sylwiaszunejko, I think we should not merge it as it is, functionally it is correct, except not covering tablets feature. But there are major concerns:
tokenAwareHostPolicy
but this PR makes Session
do it as well.GetShardAwareRoutingInfo
partitioner
, HostSelectionPolicy
and ConnPicker
Overall case is very valueable, not only for this particular driver.
Looking at the code, i beileve that we should extract and expose code that calculates routing information as it is done here, but on HostSelectionPolicy
level and have an API for it on Session
level, also to provide nice API to solve problem that is outlined in comments of GetShardAwareRoutingInfo
, this API probably to be exposed on Session
level as well
Just FYI: rust-driver related issues: https://github.com/scylladb/scylla-rust-driver/issues/468, https://github.com/scylladb/scylla-rust-driver/pull/975, https://github.com/scylladb/scylla-rust-driver/pull/944
Thanks! I hope you'll add this in API
Thanks! I hope you'll add this in API
Thanks for you contribution, it give us very good clue, I have created an issue based on this PR, we would be happy to see your recommendations/comments there.
In our case, we encountered a problem when we need to insert and read more than 500 different keys (from different partitions) at a time in scyllaDB in one user request.
The insertion (BATCH request) still worked well, but reading queries (SELECT WHERE IN) left much to be desired.
We needed to extend the gocql API to be able to split keys/queries across hosts (or shards) on the side of our application and send queries to scyllaDB. This allowed us to reduce response time.
It might be useful to give this functionality. Well, or you can suggest a more elegant implementation than what I wrote :)