Hello everyone,
The question is more about seastar programming but since it connected to ScyllaDB development would ask here. Could please somebody explain me the situation:
when I use construction similar to this
seastar::future<> foo3() {
return seastar::make_ready_future<>();
}
seastar::future<> foo1() {
return seastar::make_ready_future<>();
}
seastar::future<> foo2() {
return foo3().then( {
});
}
seastar::future<> work() {
return foo1().then( {
foo2().get();
//…
at runtime I get an assertion and the process ends
“future.cc:248: void seastar::internal::future_base::do_wait(): Assertion `thread’ failed”
I suspect the source of problem but can’t guess how to resolve it. Tried to wrap functions to seastar::async but it doesn’t work.
Would appreciate any help.
Thank you.