[qt/qtqa/gerrit]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qtqa/gerrit
Pushed by mirror-service into branch 'upstream/master'.
Changed from 8df25195d514815376b788b360da25fee87b571e to c84d40eb4da8e63a46cc1617c187bf0ae53965f7
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 049450bf51b7df7016bcbad638563b9fd4f30ed6 by Sam Saccone on 17/08/2026 at 01:01..
Optimize ChangeData lazy loading and NoteDb access

Improve ChangeData field caching and eliminate redundant NoteDb traversals:

1. Preserve index-loaded patchSets:
   - Avoid wiping index-loaded patchSets with setPatchSets(null) during
     lazy NoteDb instantiation in notes() and loadChange(). Consolidate
     full cache invalidation into reloadChange().
2. Eliminate redundant patchset hydration in reviewedBy():
   - Remove ensureAllPatchSetsLoaded(pending) from ensureReviewedByLoadedForOpenChanges
     since reviewedBy only inspects change metadata and messages.
3. Cache resolved metaRevision:
   - Cache resolved metaRevision from refStates to eliminate linear scans on
     subsequent lookups.
4. Comprehensive cache invalidation:
   - Explicitly clear all NoteDb-derived fields in reloadChange().

Benchmark Results & Performance Verification:
Tested across 10,000 hydration iterations on multi-field ChangeData objects:
- Uncached NoteDb hydration: 5,247 – 6,375 ns/op
- Cached field hydration:     408 – 1,980 ns/op
- Performance Delta: 3.2x – 12.8x reduction in hydration latency

Release-Notes: Optimize ChangeData lazy loading and NoteDb access
Change-Id: I9a40d62e6900cd8fe1ed5acdd4b7c1b4a83b8302
https://invent.kde.org/qt/qtqa/gerrit/-/commit/049450bf51b7df7016bcbad638563b9fd4f30ed6

Git commit a4be9aae7253b4d77042d1f3f0854a3e29003b36 by Ajay Gupta on 17/08/2026 at 07:49..
Fix swapped tags/branches arguments to ExternalIncludedIn#getIncludedIn

ExternalIncludedIn#getIncludedIn declares its fourth and fifth
parameters as (tags, branches), but IncludedIn#apply invokes it with
(filteredBranches, filteredTags). Every implementation that trusts the
parameter names ends up reading branch names out of "tags" and tag
names out of "branches".

This was introduced in 4c3ee4bfb6 and has been present in every Gerrit
release since v3.1.16.

Fix it at the call site so that the declared parameter order (tags,
branches) stays as-is and the arguments are passed in the matching
order.

Add a regression test that registers an ExternalIncludedIn and asserts
the project, change number, commit, tags, and branches received in each
parameter, and extend ExtensionRegistry with the registration support
needed to exercise it.

Release-Notes: Fixed IncludedIn passing branches and tags in swapped order to ExternalIncludedIn#getIncludedIn.
Change-Id: Id67cc7ec7b1b88cf9c923e1f041e0b3ff487d580
https://invent.kde.org/qt/qtqa/gerrit/-/commit/a4be9aae7253b4d77042d1f3f0854a3e29003b36

Git commit 6c353c7de0a629f135b4dec43dca2a9a98006975 by David Ostrovsky on 17/08/2026 at 10:07..
Export jspecify from auto-value-annotations for strict deps

The AutoValue/AutoAnnotation processor pulled in with rules_java 9.8.0
generates code annotated with org.jspecify.annotations.Nullable. Strict
deps then fails every AutoValue consumer with an indirect-dependency
error.

Export jspecify from //lib/auto:auto-value-annotations so all consumers
of the processor satisfy strict deps without a per-target dependency.

Release-Notes: skip
Change-Id: I131455fdd16ecf2a1d4efbacbfe6585e05485f41
https://invent.kde.org/qt/qtqa/gerrit/-/commit/6c353c7de0a629f135b4dec43dca2a9a98006975

Git commit bffad14972f11feeb601ea63d75e0bcdd5149621 by Sam Saccone on 17/08/2026 at 17:42..
Optimize SubmittedTogether for singleton and multi-change sets

Fast-path singleton and empty change sets in SubmittedTogether.applyInfo
so that single changes (the majority case) bypass sorting and ChangeJson
formatting overhead.

Remove obsolete ensureRequiredDataIsLoaded() helper that eagerly computed
lenient and strict submit records sequentially for all changes. In modern
Gerrit, ChangeJson evaluates submit requirements on-demand in parallel.

Optimize SubmittedTogether.sort() by replacing multi-pass stream
transformations with a single-pass HashSet scan to detect project duplicates
and project cardinality without stream overhead.

Benchmark Results & Performance Verification:
Tested across standalone changes and change sets with multiple projects:
- Standalone changes immediately return empty lists without evaluating submit rules
  or invoking WalkSorter.
- Eliminates sequential submit record computation overhead across all changes in change sets.

Release-Notes: Optimize SubmittedTogether for standalone changes and multi-project sets
Change-Id: Ib22250bb6360c03003ab28533b8a52f0057f189d
https://invent.kde.org/qt/qtqa/gerrit/-/commit/bffad14972f11feeb601ea63d75e0bcdd5149621

Git commit 6ed864ae8eb751d2d006dbbe3572855e4f2de253 by Gerrit Code Review (on behalf of Sam Saccone) on 17/08/2026 at 18:26..
Merge "Optimize SubmittedTogether for singleton and multi-change sets"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/6ed864ae8eb751d2d006dbbe3572855e4f2de253

Git commit f53a082f6e29dc2aefcb6e0bd9d0fd52ed668c6e by Gerrit Code Review (on behalf of David Ostrovsky) on 17/08/2026 at 19:26..
Merge "Export jspecify from auto-value-annotations for strict deps"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/f53a082f6e29dc2aefcb6e0bd9d0fd52ed668c6e

Git commit df98424a147afce6deb926ed1943c731d1f206c8 by David Ostrovsky on 17/08/2026 at 19:30..
contrib: add Gerrit Maven mirror coverage checker

Maven Central now rate-limits high-volume consumers, and Gerrit CI
recently saw 429 responses from Sonatype. Gerrit's own Maven mirror
should cover the artifacts needed by the RJE lock before CI prefers it
over Maven Central.

Add a small stdlib-only helper that reads external_deps.lock.json,
derives each locked artifact and classifier URL, and reports which
files are missing from Gerrit's Maven mirror. This gives maintainers a
quick way to audit the mirror after dependency updates or manual mirror
uploads.

A current run checks 298 locked files and finds 288 mirrored. The
remaining misses are javax.mail, jakarta.inject-api,
jakarta.servlet-api, javax.inject, and javax.servlet-api, each jar plus
sources.

Release-Notes: skip
Change-Id: I65b54b185d5ef5e06d460e4f97396cde56363f1b
https://invent.kde.org/qt/qtqa/gerrit/-/commit/df98424a147afce6deb926ed1943c731d1f206c8

Git commit c54ca2d564dbdab484f54b8f7e9328aede61559b by David Ostrovsky on 17/08/2026 at 19:36..
Prefer Gerrit Maven mirror for pinned RJE dependencies

Maven Central has started returning 429 responses to high-volume
consumers. Gerrit CI should prefer the Gerrit-operated Maven mirror for
artifacts that are already pinned in external_deps.lock.json, while
keeping Maven Central as a fallback while the mirror is populated.

Repin the RJE lock because pinned maven.install stores repository order
in external_deps.lock.json. In this repository the repin only swaps the
two repository keys, but changing MODULE.bazel alone is not enough to
reorder generated http_file URLs.

This behavior is tracked upstream in rules_jvm_external:

https://github.com/bazel-contrib/rules_jvm_external/issues/1622

Test Plan:
* Verified the documented blocked-Central cold-cache fetch succeeds.

Release-Notes: skip
Change-Id: Ibc56daf3958cb31e4119b1ababb794f1a399b567
https://invent.kde.org/qt/qtqa/gerrit/-/commit/c54ca2d564dbdab484f54b8f7e9328aede61559b

Git commit 9034624ebc6cf68f15a35fac551702a9867894f9 by Gerrit Code Review (on behalf of Nasser Grainawi) on 17/08/2026 at 21:13..
Merge "Fix swapped tags/branches arguments to ExternalIncludedIn#getIncludedIn"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/9034624ebc6cf68f15a35fac551702a9867894f9

Git commit 4c9f6e4a08d2d6441b73f366b8ae532194a92ce0 by Gerrit Code Review (on behalf of Luca Milanesio) on 17/08/2026 at 21:26..
Merge "contrib: add Gerrit Maven mirror coverage checker"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/4c9f6e4a08d2d6441b73f366b8ae532194a92ce0

Git commit 06f0c7aad52ad6da0b806c05b3d4e9711f4fa821 by Gerrit Code Review (on behalf of Luca Milanesio) on 17/08/2026 at 21:28..
Merge "Prefer Gerrit Maven mirror for pinned RJE dependencies"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/06f0c7aad52ad6da0b806c05b3d4e9711f4fa821

Git commit 5d59d7e768ca790322424b7fc0245b7b6e14c098 by Gerrit Code Review (on behalf of Sam Saccone) on 17/08/2026 at 21:41..
Merge "Optimize ChangeData lazy loading and NoteDb access"
https://invent.kde.org/qt/qtqa/gerrit/-/commit/5d59d7e768ca790322424b7fc0245b7b6e14c098

Git commit c84d40eb4da8e63a46cc1617c187bf0ae53965f7 by Adithya C (on behalf of Adithya Chakilam) on 17/08/2026 at 23:10..
Include project name for index tasks

This is helpful to limit index tasks for a specific project
using the TaskParking mechanism.

This limiting is useful in scenarios where projects with
many open changes have mergeability computation enabled.

Release-Notes: skip
Change-Id: I3004b8c9a50cc14450b6d696c05576416acc176b
https://invent.kde.org/qt/qtqa/gerrit/-/commit/c84d40eb4da8e63a46cc1617c187bf0ae53965f7
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.