Christopher Swenson 376812adaf 
	
	
	Upgrade go-msgpack to v2 2.1.1 ( #23750 ) ... 
			And set the `time.Time` option to use the go-msgpack-1.1.5-compatible
encoding in all the places, since that is the (now previous) version in
`go.mod`.
v2 2.1.1 was specifically designed to honor backwards compatibility
with 1.1.5 and 0.5.5, and to clean up the code base to be more
maintainable. There may performance lost with the 1.1.5 to 2.1.1
migration since the fastpath code was removed, but the increased safety
is probably worth it. See
[the release notes for go-msgkack 2.1.0](https://github.com/hashicorp/go-msgpack/releases/tag/v2.1.0 )
for more details.
I tested this by running this code, and booting up a cluster with a node
also running Vault 1.15.0 (before the upgrade). Before I made the
changes to set the right `time.Time` option, the previous-version node
would throw a bunch of time-decoding errors. After fixing the option,
the node came up smoothly, even after changing leadership between them.
This relies on
- https://github.com/hashicorp/raft-boltdb/pull/38 
- https://github.com/hashicorp/raft/pull/577 
I did a simple pair of benchmarks (one with a final sync, one without)
and ran them before and after on both my Mac (M2 Max) laptop and my
Linux (AMD Threadripper 3970X) desktop.
tl;dr There was no performance difference for this benchmark.
```
goos: darwin
goarch: arm64
pkg: github.com/hashicorp/vault/physical/raft
                   │    a.txt    │            b.txt             │
                   │   sec/op    │   sec/op     vs base         │
RaftWithNetwork-10   58.65m ± 2%   58.62m ± 2%  ~ (p=0.937 n=6)
```
```
goos: linux
goarch: amd64
pkg: github.com/hashicorp/vault/physical/raft
cpu: AMD Ryzen Threadripper 3970X 32-Core Processor
                   │    c.txt    │            d.txt             │
                   │   sec/op    │   sec/op     vs base         │
RaftWithNetwork-64   5.861m ± 1%   5.837m ± 0%  ~ (p=0.240 n=6)
``` 
		
	 
		2024-01-08 10:36:58 -08:00 
	 
	
	
	
		 
	
	
		
			
			
			
			
			
			2024-01-05 11:27:20 +01:00 
		 
	
		
			
			
			
			
			
			2024-01-08 10:36:58 -08:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-04 12:59:46 -05:00 
		 
	
		
			
			
			
			
			
			2024-01-08 12:21:13 +00:00 
		 
	
		
			
			
			
			
			
			2024-01-04 14:09:12 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-07 12:36:17 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-08 15:09:52 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-04 12:59:46 -05:00 
		 
	
		
			
			
			
			
			
			2023-11-28 14:07:07 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-27 15:59:41 +02:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 11:27:20 +01:00 
		 
	
		
			
			
			
			
			
			2023-08-28 10:19:13 -04:00 
		 
	
		
			
			
			
			
			
			2024-01-05 14:11:23 +01:00 
		 
	
		
			
			
			
			
			
			2024-01-05 14:11:23 +01:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 11:27:20 +01:00 
		 
	
		
			
			
			
			
			
			2024-01-08 13:57:43 +00:00 
		 
	
		
			
			
			
			
			
			2024-01-08 13:57:43 +00:00 
		 
	
		
			
			
			
			
			
			2024-01-08 13:57:43 +00:00 
		 
	
		
			
			
			
			
			
			2024-01-08 13:57:43 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-07 12:36:17 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-24 22:43:42 +01:00 
		 
	
		
			
			
			
			
			
			2023-12-04 12:36:55 -06:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-09-05 16:28:09 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-11 15:35:03 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-18 09:42:23 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-30 18:26:33 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-01 10:41:02 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-15 09:26:34 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-11-03 11:08:01 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-07 12:36:17 +00:00 
		 
	
		
			
			
			
			
			
			2023-09-07 20:11:53 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-11-06 10:26:27 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-07 12:36:17 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-07 12:36:17 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-15 13:59:29 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-01 08:47:32 -06:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-06 12:04:11 -08:00 
		 
	
		
			
			
			
			
			
			2023-12-06 12:04:11 -08:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-06 12:04:11 -08:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-06 12:04:11 -08:00 
		 
	
		
			
			
			
			
			
			2023-08-24 11:40:01 -04:00 
		 
	
		
			
			
			
			
			
			2023-10-27 09:59:50 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-09-07 10:53:29 +02:00 
		 
	
		
			
			
			
			
			
			2023-09-07 10:53:29 +02:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-10-19 11:07:41 -04:00 
		 
	
		
			
			
			
			
			
			2023-12-04 14:51:44 -08:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-07 16:13:24 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-04 13:22:22 -08:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-05 15:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-10-20 11:21:18 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-08 12:21:13 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-28 16:01:07 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-07 14:26:58 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-14 17:56:09 +01:00 
		 
	
		
			
			
			
			
			
			2024-01-08 12:21:13 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2024-01-08 12:21:13 +00:00 
		 
	
		
			
			
			
			
			
			2023-11-06 13:29:58 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-11-06 13:29:58 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-22 18:07:32 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-22 18:07:32 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-18 09:42:23 -05:00 
		 
	
		
			
			
			
			
			
			2023-11-21 08:56:58 -05:00 
		 
	
		
			
			
			
			
			
			2023-09-20 10:58:12 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-01 10:41:02 +00:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-04 12:04:38 -05:00 
		 
	
		
			
			
			
			
			
			2021-09-29 18:25:15 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-04 12:04:38 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-04 12:04:38 -05:00 
		 
	
		
			
			
			
			
			
			2024-01-03 15:34:41 -05:00 
		 
	
		
			
			
			
			
			
			2023-10-23 11:20:22 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-04 13:22:22 -08:00 
		 
	
		
			
			
			
			
			
			2023-09-05 13:44:40 +00:00 
		 
	
		
			
			
			
			
			
			2023-11-03 11:08:01 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-23 17:04:42 -04:00 
		 
	
		
			
			
			
			
			
			2023-11-15 15:21:52 -06:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-23 17:04:42 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-24 11:40:01 -04:00 
		 
	
		
			
			
			
			
			
			2023-11-28 09:56:39 -05:00 
		 
	
		
			
			
			
			
			
			2023-11-16 19:17:40 +00:00 
		 
	
		
			
			
			
			
			
			2023-10-20 08:40:43 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-08 14:06:37 +00:00 
		 
	
		
			
			
			
			
			
			2023-12-08 14:34:32 +01:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-11-28 09:56:39 -05:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-20 08:40:43 -07:00 
		 
	
		
			
			
			
			
			
			2023-11-29 15:42:07 -06:00 
		 
	
		
			
			
			
			
			
			2023-10-20 08:40:43 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-20 08:40:43 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-27 09:13:06 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-24 11:40:01 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-18 09:42:23 -05:00 
		 
	
		
			
			
			
			
			
			2023-10-14 17:56:09 +01:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-10-14 17:56:09 +01:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-15 12:59:34 -04:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-12-08 15:09:52 -05:00 
		 
	
		
			
			
			
			
			
			2023-12-08 15:09:52 -05:00 
		 
	
		
			
			
			
			
			
			2023-11-15 15:21:52 -06:00 
		 
	
		
			
			
			
			
			
			2023-08-10 18:14:03 -07:00 
		 
	
		
			
			
			
			
			
			2023-08-29 13:49:27 -07:00