abort_source: request_abort: abort on double request
abort_source: request_abort: abort on double request

request_abort should be called only once.

Currently, second time around causes undefined behavior
as seen in https://github.com/scylladb/scylla/issues/10668.

This change asserts that _subscriptions is engaged
when calling request_abort and then it proceeds to
exchanging it will nullopt.

Note that no new subscriptions are allowed
after request_abort() calling it again is doomed
to fail the assertion.

Signed-off-by: Benny Halevy <23c997c90eb8537635e9392d48e7af1bf1b2ca22@scylladb.com>

syuu1228/seastar,scylladb/seastar,avikivity/seastar,avikivity/seastar,syuu1228/seastar,scylladb/seastar,syuu1228/seastar,avikivity/seastar,scylladb/seastar