We currently give people the ability to lock the shard used for shard selection, but we should extend this to shard resolution, criteria, and query. The use case is a request that does all of its db work against a single shard. Shards should give the user the ability to perform some operation to determine what shard should be used and then lock in that shard so that all subsequent db access via the ShardedSession only uses that one shard.