From e62b37a8730f98f6be9b543f2bcc4ab00734b31c Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Tue, 23 Jul 2019 07:48:52 -0400 Subject: [PATCH] Add upgrade warning to extensions field --- log.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/log.go b/log.go index aa92a2d29..c15a84472 100644 --- a/log.go +++ b/log.go @@ -52,6 +52,15 @@ type Log struct { // is up to the client of the library to properly modify this as it adds // layers and remove those layers when appropriate. This value is a part of // the log, so very large values could cause timing issues. + // + // N.B. It is _up to the client_ to handle upgrade paths. For instance if + // using this with go-raftchunking, the client should ensure that all Raft + // peers are using a version that can handle that extension before ever + // actually triggering chunking behavior. It is sometimes sufficient to + // ensure that non-leaders are upgraded first, then the current leader is + // upgraded, but a leader changeover during this process could lead to + // trouble, so gating extension behavior via some flag in the client + // program is also a good idea. Extensions []byte }