-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Documentation: add roadmap #16279
Documentation: add roadmap #16279
Conversation
cc @mitake @ptabor @serathius @spzala @wenjiaswe @etcd-io/members @logicalhan cc @tbg @pavelkalinnikov @erikgrinaker FYI. I am planning to release raft 3.6.0 sometime this year. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I'm a little bit worried about releasing 3.6 without having the full downgrade story worked out for 3.4->3.5 first. |
## v3.6.0 | ||
| Title | Priority | Note | | ||
|--------------------------------------------------------------------|----------|--------------------------------------------------------------------------------------------------------------| | ||
| Support downgrade | P0 | etcd will support downgrade starting from 3.6.0. But it will also support offline downgrade from 3.5 to 3.4. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like online downgrade from 3.5 -> 3.4 to be backported.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's too much work and too risky. You would need to backport everything listed in #13168.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's also risky to upgrade to 3.5 without a fallback plan.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Offline downgrade is the fallback.
467f49c
to
b56c0f3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Agree, several cloud providers are still on etcd 3.4, releasing 3.6 means 3.4 will not be supported any more, but upgrading from 3.4 to 3.5 is too risky without having a downgrade support. |
thx for the feedback. Please see the discussion in #15878, and feel free to add comment in that ticket. |
I revisited the existing pull requests. Since the compacted resource version might cause list-all request in Kubernetes, it's easy to cause OOM-Killed. IMO, we should consider to continue the work of #12343 and introduce max_bytes limit in one response #14810 in 3.6 or 3.7. CC @linxiulei |
|-----------------------------------------------------------|----------|------| | ||
| Remove the dependency on grpc-go's experimental API | | | | ||
| Protobuf: cleanup both golang/protobuf and gogo/protobuf | | | | ||
| Proposals should include a merkle root | | | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merkele root for me is a P1 for v3.6.0 as proposed in https://github.com/etcd-io/etcd/blob/main/Documentation/postmortems/v3.5-data-inconsistency.md#action-items
I want to pick this up after robustness tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not see a clear or feasible solution so far. We can have more discussion in future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have couple of ideas, just need to write down the design.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with strong recommendation to put in merkle tree on the table and some comments about giving more context.
I do not have enough confidence to pick it up in 3.6 timeframe for now. But it's open for discussion, and we can evaluate it separately. |
That's why it's not a P0, but a P1. We can start planning it in v3.6.0, but have a full feature available in v3.7.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks @ahrtr
LGMT but wondering about this:
The doc says, etcd 3.6.0 will depends on raft 3.6.0
and etcd 3.6.0 will depends on bbolt 1.3.8
then why they are P1 instead of P0? Aren't they pre-req/blocker for v3.6.0?
Signed-off-by: Benjamin Wang <[email protected]>
Good point. Just changed the priorities to P0 for the two items you mentioned. Thanks @spzala |
With the approval from 3 maintainers and 3 members/contributors, merging this PR... Just as discussed above, it isn't set in stone, it may shift over time. [But I don't expect too much change for 3.6]. The roadmap just gives a high level direction of the project for the next few major or minor releases. It doesn't mean we will never receive any features which are not included in the list. |
Add a roadmap so that all contributors and users know the priorities of each major or minor release. Note that etcd community will continue to focus on technical debt over the next few major or minor releases.
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.