On Tue, Oct 12, 2021 at 10:57 AM Colin McCabe <cmcc...@apache.org> wrote: > > 11. For downgrades, it would be useful to describe how to determine the > > downgrade process (generating new snapshot, propagating the snapshot, etc) > > has completed. We could block the UpdateFeature request until the process > > is completed. However, since the process could take time, the request could > > time out. Another way is through DescribeFeature and the server only > > reports downgraded versions after the process is completed. > > Hmm.. I think we need to avoid blocking, since we don't know how long it will > take for all nodes to act on the downgrade request. After all, some nodes may > be down. > > But I agree we should have some way of knowing when the upgrade is done. > DescribeClusterResponse seems like the natural place to put information about > each node's feature level. While we're at it, we should also add a boolean to > indicate whether the given node is fenced. (This will always be false for ZK > mode, of course...) >
I agree. I think from the user's point of view, they would like to know if it is safe to downgrade the software version of a specific broker or controller. I think that it is safe to downgrade a broker or controller when the metadata.version has been downgraded and the node has generated a snapshot with the downgraded metadata.version. -- -Jose