PuppetDB: Release notes

PuppetDB 8.1.1

Released September 14 2023

Bug fixes

  • PuppetDB should no longer throw a CancelledKeyException when a network connection is reused for multiple queries (originally noticed in the 8.1.0 release). (GitHub #3866)

Contributors

Austin Blatt, Ingrida Cazers, Josh Partlow, Rob Browning, and Steve Axthelm

PuppetDB 8.1.0

Released August 22 2023

New features and improvements

  • RedHat Enterprise Linux 9 (RHEL 9) has been added as a supported platform. (PDB-5667)

  • Ubuntu 22.04 has been added as a supported platform. (PDB-5636)

  • PuppetDB will now abandon queries more promptly when a client disconnects. Previously an expensive query could continue running indefinitely. The same mechanism should also help ensure query timeouts are immediately enforced. (GitHub #3867)

  • When no database migrations are pending, PuppetDB will no longer disconnect clients on restart. (PE-36120)

Bug fixes

  • Some PQL queries with numerous or clauses should no longer cause PuppetDB to run out of memory. Previously they could allocate an exorbitant amount of RAM. (GitHub #3874)

Known issues

  • The mechanism used to abandon queries and enforce timeouts mentioned above may throw a CancelledKeyException when a network connection is reused for multiple queries. For the time being, the problem can be addressed by setting the experimental environment variable PDB_PROMPTLY_END_QUERIES to false. (This variable may be removed in a future release.) (GitHub #3866)

Contributors

Austin Blatt, Nick Burgan-Illig, Jonathan Newman, Eric Newton, Joshua Partlow, Steve Axthelm, and Rob Browning

PuppetDB 8.0.1

Released June 14 2023

New features and improvements

  • All PQL statements that take longer than one second to parse will be logged. Previously that was only the case when query logging was enabled. (PDB-5642) (PDB-5260)

  • A new generate CLI subcommand has been added. It can create a base sampling of catalog, fact and report files suitable for consumption by benchmark. (PDB-5593)

  • PuppetDB sync (PE only) now uses the query timeouts introduced in PDB-4937 to further constrain sync operations to run within the entity-time-limit. (PDB-5232)

Contributors

Austin Blatt, Josh Partlow, and Rob Browning

PuppetDB 8.0.0

Released April 25 2023

New features and improvements

  • Drop joins are now applied when evaluating sub-queries which should result in performance improvements. (PDB-5557)

  • PuppetDB now supports query timeouts for queries to the query/ endpoint via an optional query parameter. A default and a maximum can also be specified in the configuration. The current default is ten minutes. (PDB-4937)

Removals

  • The deprecated query streaming method has been removed, along with the associated PDB_USE_DEPRECATED_STREAMING_METHOD environment variable.

  • The previously optional PostgreSQL trigram index support, pg_trgm is now required.

Upgrading

  • PuppetDB requires Java 11+ and recommends Java 17. Our packages have been updated to require Java 11 or Java 17. RedHat users should be aware that Java 8 remains the highest priority Java on its distributions even when Java 11 is installed. This will cause PuppetDB to fail to start. Changing the default Java from 8 to 11 by installing Java 11 and selecting it as the default via alternatives --config java before upgrading will ensure a successful upgrade. The alternatives command can be used to rectify a failed PuppetDB 8 upgrade, you will then need to start the service manually.

  • PostgreSQL 11, 12, and 13 are no longer supported. PostgreSQL 14+ is required. This is not enforced by PuppetDB, so you can continue to use those unsupported PostgreSQL versions for now, but we reserve the right to change that in any future PuppetDB release. Please use this extra overlap time to upgrade your database.

Contributors

Arthur Lawson, Austin Blatt, Ben Ford, Cas Donoghue, Jonathan Newman, Josh Partlow, Nick Burgan-Illig, Nick Lewis, Noah Fontes, and Rob Browning