Currently there's no bound on the affinity key mapping (as far as I can see). While client code should try to clean up after itself appropriately, I can imagine cases where that may be hard to achieve. It would be good to have some way of either explicitly or implicitly expiring these keys.
One area where I'm currently unsure of what happens is if an unbinding call fails:
- The client may wish to retry the same request, which means they'd still want the same channel
- Eventually they may want to give up, at which point they'd want the affinity key mapping to be cleared
These two points have contradictory implications in terms of what the call invoker should do...