redpanda-data / redpanda

Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
https://redpanda.com
9.59k stars 584 forks source link

Use both aio and io_uring in testing #10110

Open dotnwat opened 1 year ago

dotnwat commented 1 year ago

https://github.com/redpanda-data/redpanda/issues/10105 is going to set aio backend as the default backend in seastar at least through 23.2.x. However, now that io_uring is defaulted in seastar we should start to exercise that to find issues early on even if we aren't enabling it in production. To that end, we can do something like have CI flip a coin and turn on io_uring/aio selectively whenever CI is run.

https://github.com/redpanda-data/redpanda/issues/10110#issuecomment-1523445070

JIRA Link: CORE-1272

jcsp commented 1 year ago

I'm a bit :grimacing: about doing this randomly: if there are any subtle issues, we might struggle to figure out when they're due to one backend or the other.

Maybe we should run tests by default with the "official" backend (probably still AIO through 23.2.x), and then test the alternate backend explicitly the same way we run separate tests runs for different cloud storage backends at a lower frequency than the general testing.

dotnwat commented 1 year ago

Maybe we should run tests by default with the "official" backend (probably still AIO through 23.2.x), and then test the alternate backend explicitly the same way we run separate tests runs for different cloud storage backends at a lower frequency than the general testing.

This makes sense. So like a nightly io_uring run or something?

jcsp commented 1 year ago

This makes sense. So like a nightly io_uring run or something?

Right, that kind of thing. We already do 5x nightly runs, so maybe with a little finessing we can make one or more of those use io_uring and avoid adding a new-new test run.