palantir / atlasdb

Transactional Distributed Database Layer
https://palantir.github.io/atlasdb/
Apache License 2.0
53 stars 9 forks source link

Cassandra Client Pool should apply back pressure when pool is full #1355

Open jboreiko opened 7 years ago

jboreiko commented 7 years ago

Currently our large internal product currently handles pool full exceptions gracefully and backs off from pool submission. This needs to be impl'd in atlas to give this capability to the micro services to prevent these error from being throw to the top level when they can easily be retried.

clockfort commented 7 years ago

This might be cleanest/easiest for other consumers to deal with if we essentially hide this from them, and instead of giving them an exception for back pressure, rely on something like Reactive Streams or its ilk to provide a more java8-y stream-y API and deal with implementing backpressure transparently.

(It'd be an API break, but one that our consumers are likely to like and not mind upgrading to, as they're all java8 fanboys/fangirls)

gsheasby commented 7 years ago

@clockfort / @jboreiko - is this something you're planning to work on this week?

rhero commented 7 years ago

@clockfort is this something you or the other perf guys would want to work on? We're probably not going to get to this soon.