Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge remote-tracking branch 'puppet/7.x' into doc-7.y #3865

Merged
merged 39 commits into from
Aug 24, 2023

Conversation

steveax
Copy link
Contributor

@steveax steveax commented Aug 24, 2023

No description provided.

jonathannewman and others added 30 commits June 20, 2023 14:53
This updates lein-ezbake to 2.4.2 to add build target support for
ubuntu 2204
…dd-ubuntu-2204

(PDB-5636) update ezbake to 2.4.2
This adds ubuntu 2204/jammy to the set of supported puppetdb versions
starting now.
…uthentication-configuration-a-go-go

(PDB-5636) add ubuntu 2204 as supported platform
I think this carried over from the last refactor; since user is null
here, we end up printing "Disconnecting all null connections" in the
log. Changed it to non-migrator, since I believe that is effectively
what we are doing here.
Previous behavior would cause compilers to be disconnected from
postgresql ever time the primary's pe-puppetdb was restarted. This was because the
restart invokes the migration code path, which, in PE with a
migrator-account set leads to connection blocking even when the
migration itself is ultimately a noop.

Now it tests whether any migrations are pending before calling
call-with-connections-blocked-during-migration. This change also means
that update-schema will return nil in this case, and initialize-schema
will return false, which is a change from previous noop migrations where
initialize-schema would have returned true.
…-connections-when-no-migrations-pending

(PE-36120) Do not kill connections when no migrations pending
Change PQL expr-or and expr-and grammar rules to use a recursive
definition.

By using instaparse's `{ }` operator (meaning zero or more) in
self-referential rules the grammar is ambiguous.

a = 1 or b = 2 or c = 3 can be parsed as something that looks like
[:or
  a = 1
  b = 2
  c = 3]

Or it could be parsed as

[:or
  a = 1
  [:or
    b = 2
    c = 3]]

Both are valid given the self-referential grammar rule, but as clauses
compound the number of valid parsings grows exponentially significantly
affecting performance. As few as 16 or clauses can cause an OOM with 1GB
heap.

The recursive grammar definition means only one (the second example
above) version is valid. Every and/or operator will have two children.
The patch to the pql-grammar.ebnf took care of the ambiguity causing
exponential parsing of deep OR clauses, but produces a nested AST form
that differs from the flat [or 1 2 3 4] structure that was previously
being handed off to the query engine.

Nick Lewis had suggested an additional patch to transform.clj which
would restructure the AST back to the form that the PQL parser was
previously producing so that the rest of the system isn't blind-sided by
a differing query structure. Since the issue we were fixing was in the
initial parse of the PQL, taken together, these patches should fix the
slow parse time without introducing any other novel behavior in the
query engine.
This was removed from trapperkeeper due to a CVE, but it is used in our
testing.

(Originally this was in main, but the same adjustment to tk removing
clj-yaml as a dependency made it's way into clj-parent 5.x and we need
this in puppetdb 7.x now as well.)
(PDB-5643) Use recursive PQL rules for and/or
…zbake-to-2.5.0-for-logback

(PE-36184) Update ezbake to 2.5.0 in prep for logback 1.3.x bump
This updates ezbake to 2.5.2, which does two things:
* it enables builds of the el9 platform
* it adds in tzdata-java as a dependency on the el platforms

tzdata-java was strangely removed as a dependency from openjdk, so this
adds it in as a dependendency to ensure we don't release a broken package.
…te-ezbake

(maint) update ezbake to 2.5.2
They've been deprecated, "set --local path/without" instead.
This avoids conflating depdendencies, so that we should use exactly
the set for each server set that'll be in running when deployed.
This started breaking checkouts of say 6.x.
…ppetserver-jvm-for-int-tests

(PDB-5572) Run separate puppetserver JVM for :integration tests
…zbake-for-rhel9

(PDB-5670, PDB-5668) Update ezbake and beaker-hostgenerator for rhel9 support
contains a fix to allow package builds on el9
Don't fail to log just because the producer timestamp is nil.
rbrw and others added 9 commits August 7, 2023 15:23
Don't assume it won't be nil; sometimes it is.
…command-error-handling

(PDB-5633) Handle nil producer timestamp and sql states during errors
…-el-9

(PDB-5667, PDB-5671) add el-9 to supported platforms
…se-notes

(PDB-5675) Add 7.14.0 release notes
* puppet/7.x:
  (maint) Update version to 7.14.1-SNAPSHOT
  (maint) Update version to 7.14.0 for release
  (PDB-5675) Add 7.14.0 release notes
  (PDB-5667, PDB-5671) add el-9 to supported platforms
  (PDB-5633) exec-command: handle nil getSQLState values
  (PDB-5633) log-command-processed-message: handle nil producer-ts
  (maint) Update ezbake to 2.5.3
  (maint) exclude beaker gems from integration/rspec tests
  (PDB-5670, PDB-5668) Update ezbake and beaker-hostgenerator for rhel9 support
  Set clj-parent=5.5.0
  (PDB-5572) Don't limit :integration test puppetserver clone depth
  (PDB-5572) Run puppetserver in its own JVM in :integration tests
  (PDB-5572) config-puppet-test-ref: avoid bundle --path and --without
  Set clj-parent=5.4.0
  (maint) update ezbake to 2.5.2
  (PE-36184) Update ezbake to 2.5.0 in prep for logback 1.3.x bump
  (maint) Add clj-yaml as a dev dependency
  (PDB-5643) Transform back to flattened OR AST expressions
  (PDB-5643) Add a regression test for the parse
  (PDB-5643) Use recursive PQL rules for and/or
  Set clj-parent=5.3.9
  Set clj-parent=5.3.8
  (i18n) Update strings in puppetdb.pot file
  (PE-36120) Do not kill connections when no migrations are pending
  (maint) Don't print null user in disconnecting message
  (PDB-5636) add ubuntu 2204 as supported platform
  (PDB-5636) update ezbake to 2.4.2
@steveax steveax requested review from a team as code owners August 24, 2023 22:16
@CLAassistant
Copy link

CLAassistant commented Aug 24, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
5 out of 6 committers have signed the CLA.

✅ jpartlow
✅ jonathannewman
✅ steveax
✅ austb
✅ rileynewton
❌ rbrw
You have signed the CLA already but the status is still pending? Let us recheck it.

@steveax steveax merged commit f8e6eec into puppetlabs:doc-7.y Aug 24, 2023
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants