The storage_proxy represents the entire cluster, so there's never a need to access it on a remote shard; the local shard instance will contact remote shard or remote nodes as needed. Simplify the API by passing storage_proxy references instead of seastar::sharded<storage_proxy> references. query_processor and other callers are adjusted to call seastar::sharded::local() first. Message-Id: <20180415142656.25370-2-avi@scylladb.com>