Commit Graph

113 Commits

Author SHA1 Message Date
Luiz Aoqui
119bb50151 Post 1.3.4 release (#14329)
* Generate files for 1.3.4 release

* Prepare for next release

* Update CHANGELOG.md

Co-authored-by: hc-github-team-nomad-core <github-team-nomad-core@hashicorp.com>
2022-08-26 10:09:13 -04:00
Michael Schurter
01648e615a client: fix data races in config handling (#14139)
Before this change, Client had 2 copies of the config object: config and configCopy. There was no guidance around which to use where (other than configCopy's comment to pass it to alloc runners), both are shared among goroutines and mutated in data racy ways. At least at one point I think the idea was to have `config` be mutable and then grab a lock to overwrite `configCopy`'s pointer atomically. This would have allowed alloc runners to read their config copies in data race safe ways, but this isn't how the current implementation worked.

This change takes the following approach to safely handling configs in the client:

1. `Client.config` is the only copy of the config and all access must go through the `Client.configLock` mutex
2. Since the mutex *only protects the config pointer itself and not fields inside the Config struct:* all config mutation must be done on a *copy* of the config, and then Client's config pointer is overwritten while the mutex is acquired. Alloc runners and other goroutines with the old config pointer will not see config updates.
3. Deep copying is implemented on the Config struct to satisfy the previous approach. The TLS Keyloader is an exception because it has its own internal locking to support mutating in place. An unfortunate complication but one I couldn't find a way to untangle in a timely fashion.
4. To facilitate deep copying I made an *internally backward incompatible API change:* our `helper/funcs` used to turn containers (slices and maps) with 0 elements into nils. This probably saves a few memory allocations but makes it very easy to cause panics. Since my new config handling approach uses more copying, it became very difficult to ensure all code that used containers on configs could handle nils properly. Since this code has caused panics in the past, I fixed it: nil containers are copied as nil, but 0-element containers properly return a new 0-element container. No more "downgrading to nil!"
2022-08-18 16:32:04 -07:00
Luiz Aoqui
939d643fec Post 1.3.3 release (#14064)
* Generate files for 1.3.3 release

* Prepare for next release

* Merge release 1.3.3 files

Co-authored-by: hc-github-team-nomad-core <github-team-nomad-core@hashicorp.com>
2022-08-09 17:27:29 -04:00
hc-github-team-nomad-core
7aeeac1b31 Prepare for next release 2022-07-13 19:34:32 -04:00
hc-github-team-nomad-core
5f8889d522 Generate files for 1.3.2 release 2022-07-13 19:33:41 -04:00
hc-github-team-nomad-core
351102bdac Prepare for next release 2022-05-24 16:29:47 -04:00
Luiz Aoqui
3bb3b1b161 prepare for next release (#12956) 2022-05-11 17:42:53 -04:00
Luiz Aoqui
4dac8e97c8 remove generated files and prepare for next release 2022-04-07 18:51:18 -04:00
Luiz Aoqui
fcfb8d9e37 update ci.hcl, version.go and CHANGELOG to v1.3.0-beta.1 2022-04-07 16:13:49 -04:00
Tim Gross
857d49abf4 prepare for next release 2022-02-01 11:13:22 -05:00
Luiz Aoqui
620abba134 prepare for next release 2022-01-19 11:51:59 -05:00
Nomad Release bot
9f21b724ac Generate files for 1.2.4 release 2022-01-18 23:43:00 +00:00
Luiz Aoqui
523142d25c prepare for next release 2021-11-24 14:42:09 -05:00
Nomad Release bot
78b8c171a2 Generate files for 1.2.2 release 2021-11-24 18:14:19 +00:00
Nomad Release bot
719c53ac0e Generate files for 1.2.1 release 2021-11-19 16:41:38 +00:00
Nomad Release bot
0e11f8d517 Generate files for 1.2.0 release 2021-11-15 23:00:30 +00:00
Mahmood Ali
42666b8014 update changelog and dev version (#11090) 2021-08-27 08:54:35 -04:00
Mahmood Ali
04cf47dca2 prepare for next dev cycle 2021-07-29 12:32:09 -04:00
Nomad Release bot
8c0c814099 Generate files for 1.1.3 release 2021-07-29 03:43:03 +00:00
Mahmood Ali
1bf9e7c266 prepare for 1.1.3 development 2021-06-22 10:41:44 -04:00
Nomad Release bot
60638a086e Generate files for 1.1.2 release 2021-06-22 00:45:27 +00:00
Mahmood Ali
f69c9390ea prepare for 1.1.2 dev cycle 2021-06-10 08:04:25 -04:00
Nomad Release bot
21465a592d Generate files for 1.1.1 release 2021-06-10 08:04:25 -04:00
Tim Gross
7deebd00c7 release 1.1.0: bump version and changelog info 2021-05-18 11:56:19 -04:00
Tim Gross
0daf1ae086 post-1.0.4 release prep 2021-02-24 09:56:53 -05:00
Chris Baker
460c9a6461 version to 1.0.4-dev 2021-01-29 19:31:13 +00:00
Chris Baker
08741d9f20 bump version to 1.0.3 2021-01-28 14:51:01 +00:00
Nomad Release bot
4c1d4fc6a5 Generate files for 1.0.2 release 2021-01-13 16:52:51 +00:00
Michael Schurter
e752c5c14d build: prep for 1.0.2 development (#9687) 2021-01-04 08:38:16 -05:00
Kris Hicks
85ed8ddd4f Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
Michael Schurter
f44c04ecd1 s/0.13/1.0/g
1.0 here we come!
2020-10-14 15:17:47 -07:00
Michael Schurter
e08a8386e3 prepare version for next release 2020-09-09 15:38:13 -07:00
Nomad Release bot
8efaee4ba5 Generate files for 0.12.4 release 2020-09-09 16:59:58 +00:00
Nomad Release bot
77f3b0cd74 Generate files for 0.12.4-rc1 release 2020-09-03 02:59:23 +00:00
Drew Bailey
61ecde9494 prepare release 2020-08-13 17:26:02 -04:00
Nomad Release bot
2db8abd962 Generate files for 0.12.3 release 2020-08-13 20:06:27 +00:00
Drew Bailey
dc8cd8ef38 update version for next release 2020-08-12 10:56:57 -04:00
Nomad Release bot
ee69b3379a Generate files for 0.12.2 release 2020-08-12 00:50:49 +00:00
Drew Bailey
4d9a812d36 0.12.2 version and changelog placeholder 2020-07-23 14:21:55 -04:00
Nomad Release bot
14a6893a25 Generate files for 0.12.1 release 2020-07-23 13:17:59 +00:00
Chris Baker
b233956c2b version to 0.12.1-dev 2020-07-09 16:48:54 +00:00
Chris Baker
5ef77f54fa Merge branch 'release-0.12.0' into post-release 2020-07-09 16:48:04 +00:00
Chris Baker
af70225439 version to 1.0.0-dev (!!!!) 2020-07-09 16:44:04 +00:00
Nomad Release bot
8f7fbc8e7b Generate files for 0.12.0 release 2020-07-08 22:05:00 +00:00
Nomad Release bot
0060a5306a Generate files for 0.12.0-rc1 release 2020-07-07 03:17:05 +00:00
Chris Baker
dac302ac10 update version for 0.12.0 dev 2020-06-05 19:32:52 +00:00
Chris Baker
96e77d3c0a release: prep for 0.11.3 dev cycle 2020-05-14 21:52:46 +00:00
Nomad Release bot
807cfebe90 Generate files for 0.11.2 release 2020-05-14 20:49:42 +00:00
Mahmood Ali
4c151e0b4d prep for 0.11.2 dev cycle 2020-04-22 12:51:49 -04:00
Michael Schurter
a6e0f330c2 release: bump version to 0.11.1 for development 2020-04-09 12:11:13 -07:00