tesseract-olap / tesseract

ROLAP engine for web applications, in Rust.
MIT License
39 stars 4 forks source link

Progress Report Week of 1/19/2020 #299

Closed alexandersimoes closed 3 years ago

hwchen commented 3 years ago

Had a skim through the issues and have been keeping up on actix-web and clickhouse progress. No coding this last week.

Sorry about the brittle .deb install! That and packaging in general is definitely something I’d like to make better. @frabarz perhaps it would be good to have a tracking issue/project for packaging.

As for updating deps, I see that it’s taking a long time for actix-web to release a new version with update to tokio 1.0. Because Tesseract’s http “framework” needs are fairly minimal, I’m considering switching from actix to something more low-level but more stable and tested: hyper is built by the same people who build tokio runtime, all at amazon now. This gives me a lot of confidence in the basic reliability and performance.

Also looks like clickhouse driver may need to be upgraded to tokio 1.0, not seeing any action on that front.

alexandersimoes commented 3 years ago

Just curious how much of a lift would migrating to hyper be? And have they already upgraded to tokio 1.0?

🤞 hoping clickhouse upgrades their driver soon. Should we open an issue about this on their repo?

hwchen commented 3 years ago

Migrating to hyper would be a little more work, but not too much. The bulk of work is actually switching to async/await syntax, migrating frameworks is just a few api changes. And yes, hyper is already migrated over to tokio 1.0.

I'd definitely prefer not to do extra work; but at this point hyper may offer more reliability and correctness in the long term (and timely updates), at the expense of features (which we may not need anyways). I'll check again this weekend how actix is going on its next version.

As for clickhouse, there's already a PR for an upgrade to the previous version of tokio, so I think they're aware. There's not been a lot of a movement for the last month or so, so I'll give them a ping.

hwchen commented 3 years ago

warp 0.3 is out, and upgraded to tokio 1.0. It's a thin framework over hyper, written by the same author. I've used it in the past, and its features are basically the same level as actix-web for what tesseract needs.

Its downsides are:

I think my bias is still towards Hyper + a router library, but I wouldn't feel bad about warp if you preferred a higher-level framework.

Still not sure what actix is doing, so I'm leaning more towards shifting away from it.

alexandersimoes commented 3 years ago

Let's keep an eye for progress on Actix-web this week and make the decision next week. For me the fewer moving pieces we can replace the better.