I had to revert #763 because the querier started returning blank for all queries.
querier/main.go creates two structs with a flag saying one is for metadata-only and one is for queries.
@juliusv says:
the web API took an engine (which was only used for full queries) and a querier (which was only used for metadata queries)
now the engine only takes a queryable and also creates queries based on it, while the engine doesn't know of a queryable upon construction
So we need to either change upstream Prometheus to tell us what kind of result is needed, or figure out some other way to differentiate within Cortex.