Comments (13)
Could you elaborate on this?
from cdrs-tokio.
Available node list should be dynamically updated from server events.
from cdrs-tokio.
I am currently working on a PR for that :)
from cdrs-tokio.
I was planning to rework event handling for that to work first in #32 . Current iterator-based approach works very poorly with async/await.
from cdrs-tokio.
Would you be able to give more implementation details? I can look at completing that before I submit my PR if required.
from cdrs-tokio.
At the moment, no work has been started on this topic, but I'm thinking of replacing whole existing implementation with automatically managing a dedicated extra connection for receiving events, and publishing them via tokio::sync::broadcast
.
from cdrs-tokio.
At the moment I have the connections stored in an ArcSwap
so they can be updated, it is similar to the Scylla driver.
from cdrs-tokio.
Ok, we can try to merge that first and rework the event system later.
from cdrs-tokio.
I managed to find time to rework event handling and add cluster metadata handling skeleton. You can take a look at ClusterMetadataManager which should manage contained cluster metadata, which is then passed to load balancers.
from cdrs-tokio.
I've done some work on the topology refresh branch of my fork but yours will probably end up being better. There's code for a TopologyReader which you might find useful.
from cdrs-tokio.
Or I can take this code and reintegrate my solution?
from cdrs-tokio.
Sure, rebase your changes on current master. Will welcome a PR with dynamic topology.
from cdrs-tokio.
Dynamic topology is pretty much done. Now I need to add a load balancer taking advantage of this in #33 .
from cdrs-tokio.
Related Issues (20)
- Keyspace setup falls Transport to infinite loop HOT 1
- schema change event is never received HOT 23
- Add support for HTTP proxy HOT 2
- error UnexpectedWriteType("CAS")) with multiple tokio tasks HOT 10
- Trouble with dropped connections on Session HOT 5
- increase in size for a byte array HOT 23
- Add non exhaustive to proto enums HOT 1
- TLS Example HOT 1
- Paging HOT 13
- Support for tracing informations HOT 4
- Range end index 88 out of range for slice of length 83 HOT 2
- Session can hit errors if used immediately
- rustc stack overflow when deriving IntoCdrsValue and TryFromRow if struct contains static string reference HOT 4
- Case where a machine is up but unreachable HOT 44
- High CPU usage for cdrs_tokio::transport::AsyncTransport::start_processing HOT 19
- exec_with_params is returning ErrorType::Unprepared. HOT 7
- Row to serde_json::Value HOT 12
- Support CQL Vector type added in Cassandra 5 HOT 2
- How to build generic sessions based on runtime parameters, and use them equivalently. HOT 6
- Bug in transport.rs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cdrs-tokio.