AlexPikalov / cdrs

Cassandra DB native client written in Rust language. Find 1.x versions on https://github.com/AlexPikalov/cdrs/tree/v.1.x Looking for an async version? - Check WIP https://github.com/AlexPikalov/cdrs-async
Apache License 2.0
342 stars 58 forks source link

updated async version #353

Closed krojew closed 3 years ago

krojew commented 4 years ago

Failing features also fail on master. The rest tests fine.

krojew commented 4 years ago

@AlexPikalov can you tell if the project is no longer maintained, looking at last commit date? I can gladly take over.

Jasperav commented 4 years ago

@krojew the maintainer is being contacted: https://www.reddit.com/r/cassandra/comments/jbr6ja/making_a_shardaware_python_driver_for_scylla_part/ (see comments), but I am not sure if that helps: there are lot of open PR's for quite a time...

fggarcia commented 4 years ago

@AlexPikalov can you check this PR?

krojew commented 4 years ago

@fggarcia I have a feeling the project is abandoned.

fggarcia commented 4 years ago

@krojew, you and @Jasperav created a lot of PRs. is there any possible you create a fork or a new project base on this? Maybe it's obvious that @AlexPikalov is not manteined this repo.

I start to learn rust since a few weeks, i don't have advance knowledge to do a library from zero.

I used scylla for a long time, but now i try to learn rust and this is the best library for cassandra/scylla for now.

krojew commented 4 years ago

I'm leaning towards forking and creating a separate async crate.

Jasperav commented 4 years ago

@krojew A fork is a good idea. If this issue gets solved: https://github.com/AlexPikalov/cdrs-async/issues/4, I can migrate https://github.com/Jasperav/cdrs_orm to the async version of this crate.

krojew commented 4 years ago

I'll make it happen a bit later.

krojew commented 4 years ago

Just noticed creating a new crate can be a bit problematic because of https://github.com/khuey/bb8/issues/82. I had to create my own bb8 fork just to make it work (which means this PR will probably be not stable).

fggarcia commented 4 years ago

@krojew i have an open issue about bb8's bug. #342 . it's already open. Some people avoid this issue changing bb8 by mobc https://github.com/khuey/bb8/issues/84. Other change to deadpool https://github.com/mozilla-services/syncstorage-rs/issues/794

krojew commented 4 years ago

@fggarcia I'll take a look at syncstorage

krojew commented 4 years ago

@fggarcia after taking a look at deadpool, it's too much work for me to migrate from bb8. If you have time, you can make a PR with the migration to https://github.com/krojew/cdrs/tree/async-tokio and I'll take async cdrs over from there.

krojew commented 4 years ago

There is a tokio03 branch of bb8, so we might get a bit closer to releasing a stable tokio cdrs as a separate crate.

fggarcia commented 3 years ago

Hi @krojew ... bb8 was updated to 0.5.0 based on tokio 0.2 https://github.com/djc/bb8/releases/tag/v0.5.0

krojew commented 3 years ago

Let's wait for 0.6. Alternatively, if someone wants to migrate to deadpool, I'll be happy to merge.

fggarcia commented 3 years ago

@krojew thanks for response. I believe that version 0.5.0 will fix stuck connection manager. I see release tag changelog, i believe it hasn't so much change to actual code

fggarcia commented 3 years ago

@krojew it was so fast.... bb8 release 0.6.0 with tokio 0.3 support

krojew commented 3 years ago

Yes, I will release a new cdrs crate today or tomorrow.

krojew commented 3 years ago

@fggarcia new async cdrs published: https://crates.io/crates/cdrs-tokio

closing this pr

fggarcia commented 3 years ago

@krojew thank for you work!! it's amazing. Sorry for asking, but not all framework support tokio 0.3 yet, for my example actix.

is it possible to add support for tokio 0.2?

I don't want to create an issue in cdrs-tokio for this

krojew commented 3 years ago

Sorry, but 0.3 is the minimum supported version. My recommendation is migrating to 0.3 and using the tokio-compat-02 crate for your 0.2 dependencies. It's really easy to use and remove later, when everything migrates.