-
Notifications
You must be signed in to change notification settings - Fork 454
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
Downsampling Non Functional v0.4.5 #931
Comments
@jacob-scheatzle Hey sorry you ran into this issue, this is a very new feature. We spent a lot of time the last few days looking into this and resolved a variety of issues: Do you mind rebuilding m3coordinator from master and trying again? You should also get some nice performance boost as an added benefit. |
@richardartoul I'll get a new build in tomorrow and report back with results |
@richardartoul It looks like writing to aggregated name spaces is working as expected now. I'm able to write to both unaggregated and aggregated namespaces and am able to confirm the data in them with the API. The issue I am running into now is reading from both namespaces. Prometheus (through the coordinator) can read from the unaggregated namespace no issue until data is written to the aggregated one. At that point no data is read by Prometheus. If I remove the aggregated namespace from the read node (the Prometheus node writing data is still writing to both) I can read from the unaggregated namespace again. The namespace definition in the coordinator is as such:
Additional Info: Additional behavior I've observed, once the node that is writing only to the unagg space passes the agg resolution time the Prometheus query returns all data to satisfy the query from both namespaces. It seems that somehow having some data to fulfill the query in only the unagg namespace triggers a return of all of the proper data from both namespaces. I tested this by allowing the second node to write to both agg and unagg namespaces which resulted in only reading from agg namespace after the resolution window and then I set that node back to writing to the unagg namespace only and after waiting for the resolution time Prometheus was back to returning data from both agg and unagg Scenarios: a. There is data in the unagg immediately, there is no data in agg until resolution time - Expected and proper behavior I believe Its almost like once the agg namespace has data with similar tags to unagg, coordinator simply ignores the unagg. Under scenario c above I ran a query with [30m] and got the results from agg, but running the query instant I get nothing. Using scenario D (third node writing only to unagg to make data different) I get all results from agg and unagg for the different data as well as the data with similar tags between agg and unagg. |
Everything is working as expected with release 0.4.6. Thank you everyone! |
Go Runtime version: go1.10.2
Build Version: v0.4.5
Build Revision: eef049a
Build Branch: master
Build Date: 2018-09-24-23:58:17
Expected Behavior:
M3Coordinator (used as a side car) would automatically downsample and write metrics when config specifying "aggregated" and "resolution" is picked up.
Actual Behavior:
M3Coordinator acknowledges the aggregated namespace but does not write anything to it. M3DB writes to unaggregated namespace as expected. No errors regarding aggregation have been observed in the log.
Log Snippet:
Layout:
Currently as a test setup M3DB is on 5 nodes. Each is a seed.
The Sidecar M3Coordinator is on 2 nodes writing to M3DB and 1 node for reading.
M3Coordinator Config (sidecar)
M3DB Config:
Namespace Declaration:
The text was updated successfully, but these errors were encountered: