Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make queries involving no metric name work #416

Closed
tomwilkie opened this issue May 10, 2017 · 13 comments
Closed

Make queries involving no metric name work #416

tomwilkie opened this issue May 10, 2017 · 13 comments
Labels
keepalive Skipped by stale bot storage/chunks Chunks storage engine type/feature

Comments

@tomwilkie
Copy link
Contributor

Currently queries involving no metric name (such as count({__name__=~".+"}) by (__name__)) almost always fail with some think like:

Error: RequestError: send request failed caused by: Get https://weaveworks-dev-chunks.s3.amazonaws.com/2/1a9d5d42bc35a818%3A15bf13d7a4b%3A15bf16ca09b%3Afa6f6c42: dial tcp 52.216.0.88:443: connect: cannot assign requested address

I suspect this is because we're trying to fetch too many chunks simultaneously, and we're running out of client ports.

Also, the v7 schema isn't rolled out to prod yet.

And they are hella slow - but lets get them working first!

@bboreham
Copy link
Contributor

bboreham commented Mar 5, 2018

Current status: it's rolled out but unusably slow

@tomwilkie
Copy link
Contributor Author

tomwilkie commented Mar 5, 2018 via email

@bboreham
Copy link
Contributor

bboreham commented Mar 7, 2018

The reason I say it's unusably slow is the entire row has to be read for an instance in before you can do anything. A small demo like Sock Shop has ~100K entries in the row, at 2-3K each that's a 200-300MB read, that has to be done serially at whatever rate the back-end will support.

Your proposed change to Prometheus was looking at a different aspect of the problem.

@bboreham
Copy link
Contributor

bboreham commented Mar 8, 2018

Rolled back from v8 schema to v6 today; write throughput seems much better.
cc @khaines

@bboreham bboreham changed the title Make queries involving no metric name work; roll it out to prod Make queries involving no metric name work Jun 4, 2018
@bboreham
Copy link
Contributor

bboreham commented Jun 4, 2018

Tried the query count({__name__=~".+"}) by (__name__) on Weave Cloud today; got:

Error: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (215173530 vs. 67108864)

On a very small instance I do get results.

@tomwilkie
Copy link
Contributor Author

#958 deletes the schemas that support this.

With the schema store, there are 12x less index entries. We might be able to consider removing metric name from the hash key, and having a proper __name__ index row, allowing us to do queries withing metric names. This would get hit on every write, so we'd need #607 to not hot spot, and it would be included in every read, so we'd need #947 to not hotspot there.

Even then, with millions of series, this row might be too big...

@gouthamve
Copy link
Contributor

I have a design doc here to make this happen: https://docs.google.com/document/d/19gnA8vHKSnqhnly6hA2W8Hwhiib15toFGmD4nM582-s/edit#

@stale
Copy link

stale bot commented Feb 3, 2020

This issue has been automatically marked as stale because it has not had any activity in the past 30 days. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 3, 2020
@pracucci pracucci added keepalive Skipped by stale bot and removed stale labels Feb 3, 2020
@pracucci pracucci added the storage/chunks Chunks storage engine label Aug 6, 2020
@pracucci
Copy link
Contributor

pracucci commented Aug 6, 2020

Please be aware this issue affects only the chunks storage. The new blocks storage supports queries without a metric name.

@RichiH
Copy link
Contributor

RichiH commented Oct 13, 2020

There's no official timeline yet, but there's an intention to deprecate chunks storage in favor of blocks storage. The feeling of the room is that the latest point at which official deprecation happens would be the 2.0 release, but deprecation (not removal) might also happen earlier.

@bboreham
Copy link
Contributor

Which room are you describing?

I could go as far as "would like to deprecate, if blocks turns out ok in widespread use".

@alanprot
Copy link
Member

alanprot commented Aug 9, 2022

Closing this issue as its related to chunks storage that is being deprecated.

@alanprot alanprot closed this as completed Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
keepalive Skipped by stale bot storage/chunks Chunks storage engine type/feature
Projects
None yet
Development

No branches or pull requests

7 participants