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

Why etcd only keeps the responses of the most recent 1000 events across all etcd keys? #2695

Closed
zxhdaniel opened this issue Apr 16, 2015 · 1 comment

Comments

@zxhdaniel
Copy link

Why it is 1000? but not 10000?

Why not expose it as a parameter of etcd?

@xiang90
Copy link
Contributor

xiang90 commented Apr 16, 2015

@zxhdaniel When we designed the watch event history, we think it only need to be large enough to hold the gap between two continuous watch.

Watch A
hand over result to someone else to process
Watch A again from prev Index

This latency between to watch should not exceed 1second in normal case.
The throughput of etcd was about 1K req/second at that time. So 1000 is enough to hold the gap.

Today, people are using the event history in various ways. Some want to audit the system via event history. Some want to use the event history as a consistent queue. Some might also want to not have the event history. However, today's backend store of etcd is not designed for holding a large amount of data by any mean. We cannot simply change that to 10K or as the user wants. It will have a huge impact on the stability and reliability of etcd.

Trying to solve this problem, we have been designing a new API and store. It keeps all the event and user can compact whenever they want. You can leave some feedback at #2675.

Thanks for the question.

/cc @yichengq @barakmich @philips @kelseyhightower

@xiang90 xiang90 closed this as completed Apr 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants