summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Your Changes dashboardv3.8.4-basedJukka Jokiniva2024-04-022-4/+8
| | | | | | | | | Assignee field is no longer queryable. Fixed mixing of integrating and closed section by adding query definitions also java side. Change-Id: I37078a442350d99c8a14b100b35f5e89d9b68fac Reviewed-by: Daniel Smith <daniel.smith@qt.io>
* Merge remote-tracking branch 'origin/v3.8.2-based' into v3.8.4-basedJukka Jokiniva2024-02-2631-27/+242
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/v3.8.2-based: Add plugin endpoint for top menu Allow checking Stage permission for a ref Update status values staged, integrating and deferred for client side modules Add QtStage permission Fix issue of some changes not loading Add integrating section to change dashboard Fix submodule urls Update status values staged, integrating and deferred for java modules Add extra extension mappings for Qt types Enable highlighting QML code Add label score extension points for plugin customization Modify Gerrit version string to indicate that this is a Qt fork Change-Id: Ib69577bb67574689c0ed8cb90c61b67ce431ec05
| * Add plugin endpoint for top menuv3.8.2-basedJukka Jokiniva2024-02-191-0/+6
| | | | | | | | | | | | | | | | | | New endpoint decorator allows a plugin to customize dropdown content of a top menu. Task-number: QTQAINFRA-4891 Change-Id: I0066e3a85b78905c17d508fa29a078454274a7e2 Reviewed-by: Daniel Smith <daniel.smith@qt.io>
| * Allow checking Stage permission for a refJukka Jokiniva2024-02-193-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Add stage to the list of ref permissions. This allows check.access REST API calls for staging restrictions in a branch. This is needed by the cherry-pick bot to determine if a branch is "open" or not. Task-number: QTQAINFRA-5822 Change-Id: Ie6c58a5f40a60e811d04d02c870440626e7a329b Reviewed-by: Daniel Smith <Daniel.Smith@qt.io> (cherry picked from commit a3851bc1973afc649b9b109a72c4a59d3f8871fe) Reviewed-by: Daniel Smith <daniel.smith@qt.io>
| * Update status values staged, integrating and deferred for client side modulesJukka Jokiniva2023-12-2112-2/+92
| | | | | | | | | | Change-Id: Ib5fcc3fe61c09680c9ea5d60e37915e7e26e8660 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Add QtStage permissionJukka Jokiniva2023-12-215-2/+13
| | | | | | | | | | | | | | QtStage permission controls stage and unstage functionality. Change-Id: Iea161ee5c2f86c48421c50ee8c6b87d8094d3c68 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Fix issue of some changes not loadingJukka Jokiniva2023-12-211-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | After v3.5.2 version update the changes that had once failed an integration were not loading. This was because qt gerrit plugin has been using TAG_REVERTED when adding comment messages to failed builds, and the new Gerrit version is expecting a certain message structure on the comment. Change-Id: I752c323d6de8be4bdd99d8408804091895e8aebb (cherry picked from commit 86bdbbc48133b6ab07a44bef47a4785d504d7f09) Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Add integrating section to change dashboardJukka Jokiniva2023-12-211-1/+11
| | | | | | | | | | Change-Id: I482a9fe69c6ca39ee35f005d3443913657e28cc5 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Fix submodule urlsFrederik Gladhorn2023-12-071-14/+15
| | | | | | | | | | | | | | | | We do not want to mirror all plugins. Make it convenient to work on gerrit. Change-Id: I686e9952292ddcdf5036c3eba5be8ed934a11b44 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Update status values staged, integrating and deferred for java modulesJukka Jokiniva2023-12-075-3/+75
| | | | | | | | | | | | | | Clear attention set when change is deferred Change-Id: I8a3bd92229be84b075e31b3d969107e667a60afb Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Add extra extension mappings for Qt typesMårten Nordheim2023-12-071-0/+2
| | | | | | | | | | | | | | qmlproject is just a qml file and qrc is an xml file Change-Id: I7279d4ef8f00952e75fa76973d195d5b877f4dbc Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Enable highlighting QML codeMårten Nordheim2023-12-072-0/+2
| | | | | | | | | | | | | | | | What was missing was the mapping from filetype to mimetype and the mapping from mimetype to highlight.js's alias. Change-Id: I4c128cebcf4e92d1decc4e78c87a445cf1c50f51 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Add label score extension points for plugin customizationJukka Jokiniva2023-12-071-0/+6
| | | | | | | | | | | | | | | | These extension points allow hiding of Sanity-Review voting by default in the gerrit-plugin-qt-workflow implementation. Change-Id: Ia2cfa4473b37dbbeab08e906a8aa7444c2e47d9c Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
| * Modify Gerrit version string to indicate that this is a Qt forkJukka Jokiniva2023-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And also: Use postfix for QtFork in version number There are tools parsing the version number and using QtFork-version breaks them. It's generally against conventions (semver). To make maintaining these changes easier, Ie1b91539c2fcb8fe66a7da119e4277a88ef4d291 was merged into this change. Change-Id: I2248e110a327ffc1bb1cf033a6c319117df12d26 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* | Set version to 3.8.4v3.8.4Luca Milanesio2024-02-235-5/+5
| | | | | | | | | | Release-Notes: skip Change-Id: I84fc26c43d139b5370c1dda64173af413f208641
* | Merge branch 'stable-3.7' into stable-3.8Dariusz Luksza2024-02-181-0/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | * stable-3.7: Update JGit to acf21c0bc Release-Notes: skip Change-Id: I3687ac774688197d04045ac081059ae5241a8e41
| * \ Merge branch 'stable-3.6' into stable-3.7Dariusz Luksza2024-02-180-0/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.6: Update JGit to acf21c0bc Release-Notes: skip Change-Id: I169d7c1ded2db55c678b2512577ae39a088bd569
| | * \ Merge branch 'stable-3.5' into stable-3.6Dariusz Luksza2024-02-181-0/+0
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.5: Update JGit to acf21c0bc Release-Notes: skip Change-Id: I76ac85855496007268d64dfd0d705addd78003b0
| | | * \ Merge "Update JGit to acf21c0bc" into stable-3.5Luca Milanesio2024-02-141-0/+0
| | | |\ \
| | | | * | Update JGit to acf21c0bcLuca Milanesio2024-02-141-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ git log --oneline --no-merges 74fa245b3..acf21c0bc acf21c0bc RefDirectory: Do not unlock until after deleting loose ref 86ef2d531 Add missing javadoc description for declared exception 29c89d1f0 SnapshottingRefDirectory: Invalidate snapshot after locking ref for update 8197cab33 SnapshottingRefDir: Replace lambas with method refs 8b49e01ab SnapshottingRefDir: Reduce casts with overrides 747618358 Improve handling of NFS stale handle errors ca54c5176 Fix handling of missing pack index file 60af389b4 Add tests for handling pack files removal during fetch b4c66104f Introduce a PriorityQueue sorting RevCommits by commit timestamp 2d52df154 Remove org.eclipse.jgit.benchmark/.factorypath 10c5c17eb Update jmh to 1.37 for org.eclipse.jgit.benchmark 2177bed9a Silence API warnings e712b4716 Make sure ref to prune is in packed refs 170244d05 Checkout: better directory handling 4d6671b4c (origin/stable-5.13) PackConfig: fix @since tags 244165fc5 Remove unused API problem filters f103a1d5c Add support for git config repack.packKeptObjects f5f4bf0ad Do not exclude objects in locked packs from bitmap processing 43d6bc5ef Prepare 6.6.2-SNAPSHOT builds ff08cbfe0 (tag: v6.6.1.202309021850-r) JGit v6.6.1.202309021850-r 9072103f3 Checkout: better directory handling c64dfe5b4 Update to Tycho 4.0.1 88ca88a32 Add verification in GcKeepFilesTest that bitmaps are generated 3a6eec9bb Express the explicit intention of creating bitmaps in GC ac8d7838f GC: prune all packfiles after the loosen phase dd92c1aa9 Prepare 5.13.3-SNAPSHOT builds 5aa8a7e27 (tag: v5.13.2.202306221912-r) JGit v5.13.2.202306221912-r 6f4f7e911 Update Orbit to R20230531010532 for 2023-06 f6928f573 Revert "RefDirectory: Throw exception if CAS of packed ref list fails" a80130d65 Bazel: Fix remote build execution for Java 17 f4eb38f9f Bump bazel vesion to 6.2.0 ceeb9ad80 Prepare 6.6.1-SNAPSHOT builds d3962e0e7 (tag: v6.6.0.202305301015-r) JGit v6.6.0.202305301015-r cae6d4e6b Update to Orbit S20230516204213 264b91c3e Prepare 6.6.0-SNAPSHOT builds 246f37d19 (tag: v6.6.0.202305241045-m3) JGit v6.6.0.202305241045-m3 6b3b2b33a GraphObjectIndex: fix search in findGraphPosition d3d0ec429 Update to Tycho 4.0.0-SNAPSHOT 0d92f543f PGP sign p2 artefacts f8038b6b5 Revert 'Use net.i2p.crypto:eddsa directly from Maven Central' 5a00dd873 Update dash license-tool-plugin to 1.0.2 2cbf0c177 Also add suppressed exception if unchecked exception occurs in finally 334852c52 Candidate: use "Objects.equals" instead of "==" 4562e79e2 Use hamcrest 2.2 directly from Maven Central 04ca81308 Use commons-logging directly from Maven Central 72455b5fd Update jna to 5.13.0 e53250921 Use bytebuddy directly from Maven Central ca0696664 Use jna directly from Maven Central 7e094c6cf Use net.i2p.crypto:eddsa directly from Maven Central b3dcf6344 Use org.tukaani:xz directly from Maven Central 4aa89daac Use args4j directly from Maven Central 7e67fe1d4 Use gson directly from Maven Central 6f2d93fb8 Remove unused $NON-NLS-1$ 0f7d485bc Remove unused API filters 913e6cf3f Switch to Apache MINA sshd 2.10.0 43954ea62 [releng] API filter for PackIndex.DEFAULT_WRITE_REVERSE_INDEX 2c89a3ec7 PackExt: add a #getTmpExtension method d0564cf8a UploadPack: Record negotiation stats on fetchV2 call e6f216119 RewriteGeneratorTest: Introduce test cases for the RewriteGenerator ce88e62ed PackWriter: write the PackReverseIndex file 05e7e9d5a Prepare 6.6.0-SNAPSHOT builds f6f56fc9b JGit v6.6.0.202305031100-m2 Release-Notes: Update JGit to acf21c0bc Change-Id: Id1f96b09c989cafa4a3871a88c1c8cf5e96f9def
* | | | | | WorkQueueIT: Add license headerNasser Grainawi2024-02-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding the header was missed in change Ic23cfe751e. Change-Id: Ibe2d3ae3f43f6aadfa9d4a05bf6a989d947cce10 Release-Notes: skip (cherry picked from commit 70dc3ed8820662ce05691eddffe0a654bf63db73)
* | | | | | Merge "Fix WorkQueue bug to ensure reliable execution of scheduled tasks" ↵Nasser Grainawi2024-02-132-5/+106
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | into stable-3.8
| * | | | | | Fix WorkQueue bug to ensure reliable execution of scheduled taskslintianwen2024-02-062-5/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `WorkQueue.scheduleAtFixedRate`, the `Task.run` method is executed in different threads, for example, A and B. In thread A, `Task.run` calls `task.run` and then invokes `DelayedWorkQueue.offer`, adding the task back to the queue for the next invocation. The issue arises when thread B preempts between `task.run` and `runningState.set(null)` in thread A. If thread B executes `if (runningState.compareAndSet(null, State.STARTING))` in this situation, it returns false immediately, causing the scheduled periodic queue to stop indefinitely. To address this, reschedule the task back to the queue in this situation. Bug: Issue 317985672 Change-Id: Ic23cfe751eb231f5f6f6feeaa6daf8c1684c3b88 Signed-off-by: chengyang <d17103513@gmail.com> Signed-off-by: lintianwen <lintw0302@gmail.com> Release-Notes: skip (cherry picked from commit a4c7a7384ef151b80ae45faca1450a90d9672ea5)
* | | | | | | Merge branch 'stable-3.7' into stable-3.8Alvaro Vilaplana Garcia2024-02-126-43/+114
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.7: Update git submodules Document missing options of ls-projects command Bazel: Add support for BuildBuddy RBE provider Specify GCP suffix explicitly in Bazel remote configuration Bazel: Optimize RBE execution Bazel: Clean up configuration options Bump SSHD version to 2.12.0 Change-Id: I38b3e832f2a42d89ab049052aaf3b80b6c1cdeff Release-Notes: skip
| * | | | | | Merge changes from topic "build_buddy" into stable-3.7Luca Milanesio2024-02-123-38/+89
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Bazel: Add support for BuildBuddy RBE provider Specify GCP suffix explicitly in Bazel remote configuration Bazel: Optimize RBE execution Bazel: Clean up configuration options
| | * | | | | | Bazel: Add support for BuildBuddy RBE providerAlvaro Vilaplana Garcia2024-02-073-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes add support for a new RBE provider. BuildBuddy provides an open-core suite of enterprise features for Bazel. Included are a Remote Build Execution service, a shared build artifact cache, and a build result UI. It's available as a fully-managed cloud service or as an easy to deploy on-prem solution. The service is free to use for individuals and open-source projects. To initiate a build using BuildBuddy RBE, run the following command: $ bazel build --config=remote_bb \ --remote_instance_name=${PROJECT} \ --remote_header=x-buildbuddy-api-key=YOUR_API_KEY \ release Release-Notes: Bazel: Add support for BuildBuddy RBE provider Change-Id: I92f22b9eec749e2d151c54e4f5b9476d116ec958
| | * | | | | | Specify GCP suffix explicitly in Bazel remote configurationAlvaro Vilaplana Garcia2024-02-072-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change lays the foundation for future Remote Build Execution (RBE) provider configurations, simplifying the process of extending the configuration. The plan is to support different RBE providers in addition to RBE on Google Cloud Platform (gcp): $ bazel build --config=config_$PROVIDER \ --remote_instance_name=$PROJECT \ release To not break the CIs, that still use default RBE configuration, most notably GerritForge CI and Bazel Buildkite CI, the default remote build configuration --config=remote is still supported and points to the RBE on Google Cloud Platform. However, an alias is defined, that also points to the GCP: --config=remote_gcp. Release-Notes: skip Change-Id: Ia3e9bc2752bca468ad0ceaaa1113f3ddcc4fcb29
| | * | | | | | Bazel: Optimize RBE executionDavid Ostrovsky2024-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Activate option --remote_download_minimal to make remote build even more faster. See this upstream issue for more details: [1]. [1] https://github.com/bazelbuild/bazel/issues/6862 Release-Notes: skip Change-Id: Ibcf1c95b38e2194444f32cec9eab95aa9ad82039
| | * | | | | | Bazel: Clean up configuration optionsDavid Ostrovsky2024-02-072-34/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | De-duplicate options for local and remote build configurations. Note, though, that we don't re-use build_shared configuration for default build configuration, e.g.: build --config=build_shared to avoid these confusing warnings during the build, when building non default configurations, e.g.: $ bazel build --config=java11 java/com/google/gerrit/common:server [...] WARNING: option '--java_language_version' was expanded to from both option '--config=build_shared' (source /home/davido/projects/gerrit2/.bazelrc) and option '--config=java11' (source command line options) Also remove unused remote-cache configuration options. Release-Notes: skip Change-Id: Ia557c949227b3038cbd62e4a0a3bad0f17d42218
| * | | | | | | Update git submodulesDavid Ostrovsky2024-02-121-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update plugins/delete-project from branch 'stable-3.7' to 9c4db6de1e3a00d3f3834ffe0114bd1683f57fb6 - ConfigurationTest: Remove flaky invalidTargetArchiveFolder test This test is failing when running gerrit test in docker image with root user. It's also failing when remote build execution is used (BuildBuddy provider). It seems to rely on the fact that the exception is thrown: java.nio.file.FileSystemException: /\\\: Operation not permitted However when the test is executed with BuildBuddy RBE that exception is not raised and as a consequence of that the test ends up failing. It looks that the folder /\\\ is created in the remote executor. While it could be fixed with: exec_properties = { "dockerUser": "nobody", }, we prefer not to complicate our build toolchain and rather remove the test. Change-Id: I51bccdf2cb19559690d3d88bd92cf60bc28f5fcd - Send project-deleted event after project deletion Gerrit EventDispatcher has two types of listeners: user restricted or unrestricted. For the restricted listeners before sending the event Gerrit checks if user has permission to access the project. This means that `project-deleted` event will not be delivered to the restricted listeners because when we send the event project is already removed so we cannot check permissions anymore. Bug: Issue 15778 Change-Id: I86386cf8b321a2dcc8a4a8ee6f36815e5c9228a2
| * | | | | | | Document missing options of ls-projects commandDaniele Sassoli2024-02-081-0/+20
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8a3eb55b2248fcb6ec23b10bab7b1df17dab9241 Release-Notes: skip
| * | | | | | Bump SSHD version to 2.12.0David Ostrovsky2024-02-052-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes the upstream fix for CVE-2023-48795[1] ("strict KEX" protocol extension mitigating the "Terrapin attack"[2]) in JGit. For more details, see the release notes: [3]. [1] https://nvd.nist.gov/vuln/detail/CVE-2023-48795 [2] https://www.terrapin-attack.com/ [3] https://github.com/apache/mina-sshd/releases/tag/sshd-2.12.0 Release-Notes: Update SSHD version to 2.12.0 Change-Id: I2644f9a4dbd660a6152345a58b0eb9a1b669f8e7
* | | | | | | Update git submodulesAlvaro Vilaplana Garcia2024-02-121-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update plugins/delete-project from branch 'stable-3.8' to 825dcb41a9abfc5892ef3b0f8e89b7ca25c8dfe1 - Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: ConfigurationTest: Remove flaky invalidTargetArchiveFolder test Send project-deleted event after project deletion Change-Id: I2ac01b00d7ce442b96a032d90b4037670e65d79a - ConfigurationTest: Remove flaky invalidTargetArchiveFolder test This test is failing when running gerrit test in docker image with root user. It's also failing when remote build execution is used (BuildBuddy provider). It seems to rely on the fact that the exception is thrown: java.nio.file.FileSystemException: /\\\: Operation not permitted However when the test is executed with BuildBuddy RBE that exception is not raised and as a consequence of that the test ends up failing. It looks that the folder /\\\ is created in the remote executor. While it could be fixed with: exec_properties = { "dockerUser": "nobody", }, we prefer not to complicate our build toolchain and rather remove the test. Change-Id: I51bccdf2cb19559690d3d88bd92cf60bc28f5fcd - Send project-deleted event after project deletion Gerrit EventDispatcher has two types of listeners: user restricted or unrestricted. For the restricted listeners before sending the event Gerrit checks if user has permission to access the project. This means that `project-deleted` event will not be delivered to the restricted listeners because when we send the event project is already removed so we cannot check permissions anymore. Bug: Issue 15778 Change-Id: I86386cf8b321a2dcc8a4a8ee6f36815e5c9228a2
* | | | | | | Update git submodulesRikard Almgren2024-02-061-0/+0
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update plugins/delete-project from branch 'stable-3.8' to 38b4cb16483045557ffbe7dec8c3d971b95ebc82 - Send Project Deleted Events also when archiving When projects are either deleted fully, or preserved by setting as hidden and moving to f.i. Deleted-Projects, we send a Project Deleted Event. We do not do the same if we archive the repository, even though this is effectively also a deleted project (more so than hidden is) from a Gerrit perspective. Not sending this event means that archived repositories are not properly removed from replicas when replicateRepositoryDeletions is set. This makes sure that we still send the projectDeletionEvent while archiving is set. Release-Notes: Plugin Delete-Project archiveDeletedRepos option now also emits a Project Deletion event. Change-Id: I0829a1a2016d67ac789b92f67d1d7c6a13b65c65
* | | | | | Merge branch 'stable-3.7' into stable-3.8Luca Milanesio2024-02-023-1/+72
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.7: Add metrics for git/upload-pack/*bitmap* misses Add timer for git/upload-pack/phase_searching_for_* Fix: CommentTimestampAdapter can't parse some old comments Add timer for git/upload-pack/phase_negotiating H2CacheImpl: Lower logging level for no pruning Release-Notes: skip Change-Id: I13c3d2502d347409682f4c355a73847dbb410cde
| * | | | | Merge branch 'stable-3.6' into stable-3.7Luca Milanesio2024-02-023-1/+72
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.6: Add metrics for git/upload-pack/*bitmap* misses Add timer for git/upload-pack/phase_searching_for_* Add timer for git/upload-pack/phase_negotiating H2CacheImpl: Lower logging level for no pruning Release-Notes: skip Change-Id: I27a1f23f2c15dc1f604d51540f63d137139b46f0
| | * | | | Merge branch 'stable-3.5' into stable-3.6Luca Milanesio2024-02-023-1/+72
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.5: Add metrics for git/upload-pack/*bitmap* misses Add timer for git/upload-pack/phase_searching_for_* Add timer for git/upload-pack/phase_negotiating H2CacheImpl: Lower logging level for no pruning Release-Notes: skip Change-Id: Ib098928b406a5aefc504b208a7393920e4a9a0fe
| | | * | | Add metrics for git/upload-pack/*bitmap* missesLuca Milanesio2024-02-022-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JGit packer tracks the number of times that an object was not found in the bitmap index or if the bitmap index was completely missing. The Gerrit admin may be interested in knowing that the incoming traffic is slowed down by excessive bitmap index misses because of the increase of the overall git-upload-pack latencies and the impact on the server's throughput. Also add a specific counter for when the bitmap index is totally missing, which the Gerrit admin should use for setting alerts of possible GC cycles being ineffective. Add the git/upload-pack/bitmap_index_misses_count for beging used in performance graphs, while the git/upload-pack/no_bitmap_index should be more suitable for alerts. Release-Notes: Add metrics for git/upload-pack/bitmap_index_misses_count and a separate one for missing bitmap indexs Change-Id: Ie76bdcc39073748a5a0c59618cba58d286e08ba9
| | | * | | Add timer for git/upload-pack/phase_searching_for_*Luca Milanesio2024-02-012-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JGit packer tracks time spent in searching for reuse and sizes associated with the phase "Finding sources". Gerrit already has an out-of-the-box capability for tracking JGit protocol-level metrics, but did not cover until now, the "Finding sources" phase, which is critical for an optimal Git/HTTP performance. Add the git/upload-pack/phase_searching_for_* so that the Gerrit admin can graph how these are performing and spot any potential issues. Release-Notes: Add timer for git/upload-pack/phase_searching_for_* phases Change-Id: I65abde2c2157de61f4ee2114609085065aa5a659
| | | * | | Add timer for git/upload-pack/phase_negotiatingLuca Milanesio2024-01-252-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JGit packer tracks time spent in the negotiation phase. This statistic was only exposed in the sshd_log and is not available when the client uses Git/HTTP, which is counter-intuitive. Having the statistics in log files is not ideal, though, because for the Gerrit administrator, it takes more time to surface them and defining alerts or monitoring: - Logs need to be collected - Metrics extracted - Calculate the KPIs - Graph and alert based on KPIs Gerrit already has an out-of-the-box capability for tracking JGit protocol-level metrics, but did not cover until now, the negotiation phase, which is critical for an optimal Git/HTTP performance. Add the git/upload-pack/phase_negotiating so that the Gerrit admin can graph how these are performing and spot any potential issues. Release-Notes: Add timer for git/upload-pack/phase_negotiating Change-Id: If185e0a1b4a4418243a2273ec850de01337afdd8
| | | * | | H2CacheImpl: Lower logging level for no pruningNasser Grainawi2024-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not having any work to do is less significant to admins than when there is work to do. Decreasing the logging level allows admins to opt-in to the "not pruning" messages. Change-Id: Id68ecb1960c4f996df70420fd58416e957670471 Release-Notes: skip
| * | | | | Fix: CommentTimestampAdapter can't parse some old commentsDmitrii Filippov2024-01-312-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Jan-Feb of 2017 gerrit wrote date time of comments in locale-specific format. The CommentTimestammpAdapter tries to parse date/time in this format too, but if the default locale is changed in the system since 2017, gerrit can't open the change. This change adds a fixed format for parsing date/time as an additional fallback. Issue: b/254583980 Change-Id: Ie361b4ca6f11e3f7b8873ea9a1e39a94dfbc326a Release-Notes: skip Forward-Compatible: checked (cherry picked from commit d29cf0e44c4242f67d98fd3218259e227c23e456)
* | | | | | Merge branch 'stable-3.7' into stable-3.8paladox2024-01-302-2/+35
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.7: Remove extra base URL prefix in gr-copy-links Release-Notes: skip Change-Id: I57cb5184deb3e87eb4eb36228b420b3ad609f6e3
| * | | | | Remove extra base URL prefix in gr-copy-linksAntoine Musso2024-01-302-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our instance has a path in its base URL: https://gerrit.wikimedia.org/r and thus we have `window.CANONICAL_PATH = /r`. 0a9703e16d9d introduced `<gr-copy-links>`, the links are crafted from createChangeUrl which already returns an URL with the base URL. There is thus no need to add the base url or prepend the origin. https://phabricator.wikimedia.org/T355931 Release-Notes: Fix copyable change links when base URL has a path. Change-Id: I74b0a3efe152359c2469606d71d54f4adb218454
* | | | | | Merge branch 'stable-3.7' into stable-3.8Dariusz Luksza2024-01-2510-19/+158
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Release-Notes: skip Change-Id: I36e544eee7f301df20311d51695b9814bbcc631f
| * | | | | Ensure proper canonical web url in Git over HTTPDariusz Luksza2024-01-242-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that the current HttpServletRequest is propagated to HttpCanonicalWebUrlProvider in Git over HTTP context. So that the output of git push command has the proper server URL. This also deletes the "manual injection" of `Provider<HttpServletRequest>` from the `webInjector` in the `Daemon` class. That injection doesn't make sense for this class, as `HttpCanonicalWebUrlProvider` is not a singleton, which means a new instance will be created each time it is obtained from Guice. So in the `Daemon.java`, the instance will be created on the spot, then the HTTP request provider will be set on it and that very instance will be disposed. This is fixing a problem encountered in the virutalhost plugin, where despite proper configuration for tenant canonical web URL, the git push output would use the value of `gerrit.canonicalweburl` configuration option. Bug: Issue 311925527 Release-Notes: Fix canonical web url binding in Git over HTTP Change-Id: I82891b25bd23bb8467a2bb3fa829e58846140faf
| * | | | | Attach o=STAR on change list queries in frontend.Kamil Musin2024-01-233-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This causes the returned changes to contain information whether or not they are starred. Currently the star on dashboard and search is always empty. Release-Notes: skip Google-Bug-Id: b/276296940 Change-Id: If3806db2302f9f488ca7fc34b8f3c3ee8fe6883f (cherry picked from commit 0cfb4525ca303e2a86cd76ccc66be3049bf899e6)
| * | | | | Fix populating star field in change queries for anonymous usersYoussef Elghareeb2024-01-232-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In change Idc0cac3e3 we added an option to populate 'starred' field for change query requests with an option. Fixing the case when query requests are sent for anonymous users. The added test fails wihout the change in ChangeJson.java. Release-Notes: skip Google-Bug-Id: b/285320824 Change-Id: I2e214cc4cf7259e5f73078fb210ce982173a0df9 (cherry picked from commit 6f5f427b34d99e85802f301fefafc432738cdf2a)
| * | | | | Add option to populate 'starred' field for change query requestsYoussef Elghareeb2024-01-235-2/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've recently moved the drafts and stars out of the change index (see change I36c1e2f5) after which the returned ChangeInfo(s) from the 'Query Changes' API always had the 'starred' field as null, since this field is no longer populated from the change index. We discovered this bug since the dashboard's data is populated from the change index. To reproduce: 1) Go to dashboard and star a change (press the star icon). 2) Refresh the page. The star is gone. Navigating to the change page after starring from dashboard shows the star icon correctly in the change page. This is because the change page is powered by the 'Get Change Detail' endpoint which does not use the index. To fix this, we add a change option to populate this field. This is done by opening the All-Users repo once, and doing a call to RefDatabase#exactRef(String... refs). Calls to #exactRef take microseconds, and since this operation is gated with a list change option (to be used by the gerrit dashboard), this operation should be performant. Google-Bug-Id: b/276296940 Release-Notes: Add option to populate 'starred' field for change queries Change-Id: Idc0cac3e3aa715d18ddc1696d7324d13bcf84ce1 (cherry picked from commit f4f494800d33114ebb7cc84ef4d628874a937401)
* | | | | | Merge branch 'stable-3.7' into stable-3.8Sven Selberg2024-01-181-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.7: Lower log-message for blocked email to INFO Release-Notes: skip Change-Id: I287a09857e527dccf909260748d41021d5d55975