| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Update the documentation for the /projects/ REST API to
incorporate details about retrieving project inheritance in a
tree-like format.
If the calling user fails to satisfy any of the following
conditions:
- Parent project is "ACTIVE" or "READ ONLY", and the user has
READ permission to at least one ref.
- Parent project is "HIDDEN", and the user has READ permission
for 'refs/meta/config'.
Then the 'parent' JSON field will be denoted as '?-N' where N
represents the nesting level within the project's tree.
Release-Notes: Explain in /projects/ REST API when the "parent" field is "?-N"
Change-Id: I301ae1e158bf63bba954006c7c8567db1d439434
|
|\ \ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
We need a decent fallback when the change query fails for looking up the
repo. It is very likely that the repo could be derived from the URL in
the meantime. So let's check for that before throwing a page error.
Also add some comments and improve clarity of the project lookup
methods.
Other attemps at solving the issue were change 373241 and change 349956.
Release-Notes: skip
Bug: Issue 40015476
Change-Id: Iacda3ad3602289c0bc9f1f241afd4bf36658c7eb
(cherry picked from commit c39984ea78c7dd8b786fd22f00c3116e12ff334f)
|
|\ \ \ \ \ \ \ \ \
| | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* stable-3.7:
Add in memory change data cache by project
Change-Id: Icf31e1c992558f48894e429c17929da926934766
Release-Notes: skip
|
| |\ \ \ \ \ \ \ \
| | | |/ / / / / /
| | |/| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* stable-3.6:
Add in memory change data cache by project
Change-Id: Iaaefec06ef74205b0611372eb5fb7c6086086066
Release-Notes: skip
|
| | |\ \ \ \ \ \ \
| | | | |/ / / / /
| | | |/| | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* stable-3.5:
Add in memory change data cache by project
Change-Id: I4ef0e654385fce50782d96c498ef9bc140aa2a22
Release-Notes: skip
|
| | | | |/ / / /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This cache only stores the data needed to speedup ref advertisements.
The index is used to populate this cache when it is available otherwise
it falls back to scanning noteDb (generally on replicas). This cache is
most useful when using 'git upload-pack' with projects with large change
counts on replicas.
The following times were seen when running 'git ls-remote' on a project
with around 380K changes stored on NFS:
With ES index (primary):
Before this change: (cold 1m3s) 12-17s (with large enough "changes" cache)
After this change: (cold 1m3s) 12-17s (with large enough "changes" cache)
No Index (replica):
Before this change: (cold ~4m) ~4m
After this change: (cold 2m25s) 12-17s
Although the numbers above do not show an improvement on "best" times
for primaries using ES, that's because those numbers represent the times
achieved with the existing "changes" cache enabled. However, since the
existing "changes" cache is disabled by default, most sites will see an
improvement after this change with 'git upload-pack' on primaries also,
and additionally with 'git receive-pack'. Thus the warm times after this
change are more achievable and more likely to stay fast, even when other
projects are accessed in between. Before this change it is harder to
achieve and maintain the warm times.
The existing "changes" cache can also is used to help cache changes by
project, however, it is documented as not being appropriate for
multi-primary setups since it will be out of date if alterations are
made to changes outside of the current server. The existing cache is
also not useable on replicas where there is no index. It is noteworthy
that the existing cache provide value beyond just its ability to cache
results since loading change data from the index (even with ES), is
faster than loading change data via a noteDb scan.
Similar to the existing cache, the new cache is able to take advantage
of the index when it is available on primaries, however it is actually
multi-primary friendly because it stores the meta-ref id for each change
and out-of-date changes are detected on each cache fetch resulting in
the cache being incrementally kept up-to-date. The new cache is also
useable on replicas by also falling back to a noteDb scan when the index
is not available, however here too it is able to incrementally stay up
to date after the first scan.
The new cache is much more space efficient than the existing "changes"
cache as it takes advantage of the fact that determining visibility for
public changes requires access only to a change's destination branch and
that many changes are generally destined for each branch. So although
the existing cache is fairly compact, this new cache stores even fewer
change data fields. This makes it likely possible to keep all the
projects on a server cached in memory, even on servers with large
projects and change counts. It may make sense to eventually remove the
existing changes cache.
Release-Notes: Add cache to speedup ref advertisements (particularly on replicas) and receive-pack
Forward-Compatible: checked
Change-Id: Ib9c77ee03d9012cdeb6ad05eed3492c3009e4334
|
|\| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-3.7: (26 commits)
Fix cache.<name>.maxAge gerrit config doc
Read refreshAfterWrite and maxAge from config for persistent caches
Fix gerrit config doc for expireAfterWrite
Fix loading and state of <gr-repo>
Fix H2CacheFactory to correctly set refreshAfterWrite
GitVisibleChangeFilter: Avoid throwing exceptions
Show edit icon for topic only if it is not readonly
Fix SSH set-topic cmd to consider 'editTopicName' permission
Avoid NPE when deleting single ref
SubmitRuleEvaluator: Do not recreate metrics for each instance
SubmitRuleEvaluator: Move Factory interface above fields
DefaultRefFilter: Do not recreate metrics for each instance
Fix NPE when remote display name unset
Fix 'force topic edit' permission to consider change owner rule
QueryProcessor: Create Singleton metrics instances for subclasses
Retry SSH set-reviewers cmd on lock failures
InactiveAccountDisconnector: Fix NPE when sessionUser is null
Reword Eclipse dev guide about plugins test dependencyies
CloudSpannerAccountPatchReviewStore#convertError: Fix endless recursion
SSH Query: Show copied approvals on respective patchsets
...
Release-Notes: skip
Change-Id: I837025bd07f0d2e63a7915306a4dcfc2f8a29afe
|
| |\| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-3.6:
Fix cache.<name>.maxAge gerrit config doc
Read refreshAfterWrite and maxAge from config for persistent caches
Fix gerrit config doc for expireAfterWrite
Fix H2CacheFactory to correctly set refreshAfterWrite
GitVisibleChangeFilter: Avoid throwing exceptions
Show edit icon for topic only if it is not readonly
Fix SSH set-topic cmd to consider 'editTopicName' permission
Release-Notes: skip
Change-Id: If428c47a6ed8064f0dacb15ee606c12819d98e96
|
| | |\| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-3.5:
Fix cache.<name>.maxAge gerrit config doc
Read refreshAfterWrite and maxAge from config for persistent caches
Fix gerrit config doc for expireAfterWrite
Fix H2CacheFactory to correctly set refreshAfterWrite
Show edit icon for topic only if it is not readonly
Release-Notes: skip
Change-Id: I02e70284d6893da52e808693eade44c61254ec2f
|
| | | |\ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The statement "refreshed from source data every maxAge interval" is
not true. The Guava [1] and Caffeine [2] docs specify that each entry
should be automatically removed from the cache once a fixed duration
has elapsed after the entry's creation. The value is not refreshed
automatically after its removal. Thus remove the misleading statement.
[1] https://guava.dev/releases/19.0/api/docs/com/google/common/cache/CacheBuilder.html#expireAfterWrite(long,%20java.util.concurrent.TimeUnit)
[2] https://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine/2.1.0/com/github/benmanes/caffeine/cache/Caffeine.html#expireAfterWrite-long-java.util.concurrent.TimeUnit-
Release-Notes: skip
Change-Id: Ie83a22f1936ea6208456b2fac05f5d4c46cae8ad
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Similar to in memory cache, override persistent cache's
refreshAfterWrite and maxAge settings from gerrit config when
available.
Release-Notes: refreshAfterWrite and maxAge settings in gerrit config are now honored for both persistent and in-memory caches
Change-Id: Iab8667cd44dc6bcc5d54d217ea273209e4754e50
|
| | | |/ / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
cache.<name>.expireAfterWrite is never read from gerrit config. We use
cache.<name>.maxAge setting to define the expiry time for a cache
entry. Thus remove expireAfterWrite from doc, so that gerrit config
doc is not misleading.
Release-Notes: skip
Change-Id: I9e9d502e5ac889423aefa002558d26f82faf1a8a
|
| | | |\ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Release-Notes: skip
Change-Id: I1859785435014765deb4dc23240ffcfd3d6a67b2
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change Ibc188bf663 unintentionally sets expireAfterAccess value to
refreshAfterWrite for persistent caches.
Release-Notes: Setting refreshAfterWrite for persisted cache now works and does not mistakenly use expireAfterAccess instead of refreshAfterWrite
Change-Id: Ia9617e9b14b97670ca14bcf4b6a88eb2da6e20c8
|
| | |\| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* stable-3.5:
Fix SSH set-topic cmd to consider 'editTopicName' permission
Release-Notes: skip
Change-Id: I8dd10029c8f68c20a286ca8636a8fe4abc043b2f
|
| | | |/ / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Call the PutTopic API to set the topic on a change via SSH as it
has the required conditions to validate access.
Release-Notes: SSH set-topic cmd is fixed to consider edit topic permission
Change-Id: I870dc50a5ea68867f1e17390eeba14c73f7904de
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The predecessor to this class, VisibleChangesCache, tried to ensure
exceptions didn't prevent returning as complete of a response as
possible and the loadChangeDatasOneByOne() method in this class
maintained that behavior. Fix the scanRepoForChangeDatas() and
getVisibleChanges() methods to also have that behavior, replacing the
cases where they would throw a StorageException with log warning
messages and an empty/negative result. This also matches the behavior of
SearchingChangeCacheImpl.getChangeData().
Change-Id: I25982ffd95b039edb821054000476a7c32f70a3d
Release-Notes: Fixed case where an exception in change visibility checking could break visibility of all refs in that repo
|
| |\ \ \ \ \ \ \ |
|
| | |\| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* stable-3.6:
Avoid NPE when deleting single ref
SubmitRuleEvaluator: Do not recreate metrics for each instance
SubmitRuleEvaluator: Move Factory interface above fields
DefaultRefFilter: Do not recreate metrics for each instance
Fix NPE when remote display name unset
Fix 'force topic edit' permission to consider change owner rule
QueryProcessor: Create Singleton metrics instances for subclasses
Retry SSH set-reviewers cmd on lock failures
InactiveAccountDisconnector: Fix NPE when sessionUser is null
Reword Eclipse dev guide about plugins test dependencyies
CloudSpannerAccountPatchReviewStore#convertError: Fix endless recursion
SSH Query: Show copied approvals on respective patchsets
Update git submodules
Update git submodules
Update git submodules
Skip building bloom filters by default during offline reindex
Disable cache cleanup during offline reindex
Add toString method to project list cache
Release-Notes: skip
Change-Id: Ibbecaf1f9f17d0e2faac9f0b14f7faf22beb6fa1
|
| | | |\ \ \ \ \ \ |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Fix a NullPointerException thrown when `auth.httpDisplaynameHeader` is
configured, but the header isn't set.
Bug: Issue 300976121
Release-Notes: Fix NPE when auth.httpDisplaynameHeader is configured but header is unset
Change-Id: Ib92fea2f29092d096dc03f232c47ca0661b23864
|
| | | |\ \ \ \ \ \ \
| | | | | |/ / / / /
| | | | |/| | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* stable-3.5:
SubmitRuleEvaluator: Do not recreate metrics for each instance
SubmitRuleEvaluator: Move Factory interface above fields
DefaultRefFilter: Do not recreate metrics for each instance
Fix 'force topic edit' permission to consider change owner rule
QueryProcessor: Create Singleton metrics instances for subclasses
Retry SSH set-reviewers cmd on lock failures
InactiveAccountDisconnector: Fix NPE when sessionUser is null
SSH Query: Show copied approvals on respective patchsets
Update git submodules
Update git submodules
Update git submodules
Skip building bloom filters by default during offline reindex
Disable cache cleanup during offline reindex
Add toString method to project list cache
Change-Id: I5d086c496c9b7901abfbe51ace9d0e46b3f47e20
Release-Notes: skip
|
| | | | |\ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
* changes:
SubmitRuleEvaluator: Do not recreate metrics for each instance
SubmitRuleEvaluator: Move Factory interface above fields
DefaultRefFilter: Do not recreate metrics for each instance
QueryProcessor: Create Singleton metrics instances for subclasses
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The expected pattern is to create a Singleton class for the metrics so
that they're created once and then inject that same instance into every
newly created SubmitRuleEvaluator instance.
Change-Id: I02aafb9229588f96e398c0d7bdb8c42ca2e08ecb
Release-Notes: Fixed potential OOM due to SubmitRuleEvaluator creating new metrics whenever an instance was created
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Fixing the code organization to align with our style guide.
Change-Id: I3450875bf6f76db9decb6246f3dd185409662400
Release-Notes: skip
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The expected pattern is to create a Singleton class for the metrics so
that they're created once and then inject that same instance into every
newly created DefaultRefFilter instance.
Change-Id: Ia96301247df550e7ba960cd0134c0fd1e547f539
Release-Notes: Fixed potential OOM due to DefaultRefFilter creating new metrics whenever an instance was created
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
When change.QueryProcessor was refactored to support
AccountQueryProcessor in change Iaa76a69ff9, the Singleton Metrics class
became a per-instance class. This does not appear to be the intent for
classes creating metrics in general and specifically is a problem when
plugins get a query processor instance from a provider because then the
PluginMetricsMaker is used to create the new metric. That
PluginMetricsMaker keeps a reference to any created metrics instances,
which means a plugin that runs queries would forever accumulate memory.
Fix that issue by creating Singleton subclasses of
QueryProcessor.Metrics for each of QueryProcessor's subclasses. This way
the provided *QueryProcessor instances will always get the appropriate
Metrics instance without continually creating new ones.
Change-Id: I7cf5471e29a4357df65af67864f1517133db1ecc
Release-Notes: Fixed potential OOM due to *QueryProcessor classes creating new metrics whenever an instance was provided
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
On closed changes, the permission to edit topic name currently
ignores the rule to allow the change owner. Fix this by updating
RefControl#canForceEditTopicName to require whether the user
is owner of the change.
Release-Notes: 'force topic edit' permission is fixed to work with change owner rule
Change-Id: I5d014dd44cf3a0cb4a84318ab69791376d41eb68
|
| | | | |\ \ \ \ \ \ \
| | | | | |/ / / / / /
| | | | |/| | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
For the same reasons mentioned in Ieb84f0a65, retry set-reviewers
cmd. It is prone to lock failures as there can be a contention to
lock the notedb ref.
Release-Notes: SSH set-reviewers cmd now handles lock failures with retries
Change-Id: Ib68d3152bd0fdfc237f522b427280455e682947b
|
| | | | |/ / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Most SSH sessions are initially created without the sessionUser set,
so there's a race where an account is deactivated and iterates over
sessions and one of those sessions has a null sessionUser.
Change-Id: I1dd15e9240e7e690881bf61df262f0de14ed1c6e
Release-Notes: Fixed InactiveAccountDisconnector NPE due to race condition
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Copied approvals are currently only shown on the current patch-set.
CI systems parsing the query result to get approvals on non-current
patch-sets will run into issues if copied approvals are not returned
on respective patch-sets.
Release-Notes: SSH queries now show copied approvals on respective patch-sets
Bug: Issue 295457464
Change-Id: I40a605be7f27c70233d94130ae6c5aba22e8818c
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* Update plugins/replication from branch 'stable-3.5'
to 694b34084ca623756a9ec7e6a60631ab6027d5c2
- TasksStorage: Remove synchronized from methods
These aren't expected to be necessary for correctness.
Change-Id: Id23d3b385e289ba453638b76d6523016a5aabf2a
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* Update plugins/replication from branch 'stable-3.5'
to f447543ba5493bae04cc9a5a2844f2745541e27a
- Place the replaying flag clearing in a finally
This ensure that 'replaying' will be set to false even if an exception
occurs in pruneNoLongerPending(), otherwise if would be possible for the
distributor to get "stuck" and never be able to run again.
Release-Notes: Avoid opportunity to inadvertently block the distributor
Change-Id: I4628a574ad54ca6abd591138edc48e12a39447e7
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* Update plugins/replication from branch 'stable-3.5'
to 082c710e28901ec6aeb5d135b1f11bacf4ae7a00
- Demote delete errors when distributor is enabled
Since delete errors for Tasks is expected after recovery (when another
nodes starts up) when running with a multi-primary setup, demote them to
"atFine()" level when the distributor is enabled. This avoids errors in
the logs during normal multi-primary operation.
Release-Notes: Reduced log level for Task deletion errors in MP setups
Change-Id: Iccca2e1bd2b91b91e12a14c4e473c8a6df6fd4b7
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Building bloom filters can take a really long time, especially
when fully populated disk caches are used with large Gerrit
installations. Skipping it avoids unnecessary work when fully
populated caches are being used. Even when reindexing with
caches that aren't populated, bloom filters don't provide a
significant performance improvement.
Release-Notes: Bloom filters are no longer built during offline reindex
Change-Id: I33095383a13f6de4f10a21c2a215e63dfa7972d1
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Offline reindex can potentially suffer from poor performance if
the caches are being pruned, especially when populated caches
are used to speed up reindex. As there is no obvious benefit
from pruning caches during reindex, disable it.
Release-Notes: skip
Change-Id: Ia82f2f03efbbcd6954252721a052b9827faa8194
|
| | | | |\ \ \ \ \ \
| | | | | | |_|/ / /
| | | | | |/| | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* stable-3.4:
Add toString method to project list cache
Release-Notes: skip
Change-Id: I232ba0d1ad43dcaba150c3b34ebe22f22c32c8ed
|
| | | | | |\ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Add meaningful string representation for PeriodicProjectListCacheWarmer
class so that task entry corresponding to it is readable in gerrit
show-queue output.
Change-Id: I8138f19c4354911d76233cd1fe7a7f89e6c4262d
Release-Notes: skip
|
| | | | |_|_|/ / / /
| | | |/| | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Change I8e19d756db fixed a bug where an NPE was thrown during the
deletion of multiple refs if one of them didn't exist, or possibly
already removed by a concurrent caller.
The `deleteMultipleRefs()` method however, falls back to calling the
`deleteSingleRef()` method, which also suffers from the same issue.
Fix the `deleteSingleRef()` method to account for unexisting refs, so
that a concurrent execution from another caller does not cause an NPE.
Release-Notes: Avoid NullPointerException when deleting a single ref
Bug: Issue 291102119
Change-Id: Ibe79290f4eb7332cc22e72c906fe5f60bedbcca6
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Release-Notes: skip
Change-Id: Idce1f97c3988e2042b37e2701334dc81f4f09e36
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
If the given SQLException cannot be mapped to DuplicateKeyException the
method recursively invoked itself resulting in an endless loop.
Release-Notes: skip
Change-Id: Ie4c1afb2b543cf0437e1fb85271e5844704f1070
Signed-off-by: Edwin Kempin <ekempin@google.com>
(cherry picked from commit a590f25374f3fb2b9e20b2663be6b5c48d578f7f)
|
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The goal was to just fix the bug reported in b/266010917: This was
caused by the component being rendered with undefined `repoConfig`,
then handlers such as `handleDescriptionTextChanged` were called
with empty values at a moment where `repoConfig` was already loaded.
The immediate fix is just not render the DOM while `repoConfig` is
undefined or `loading` is true. That could have been achieved with a
few lines of change, but using a `loading` css class along with
`display:none` is so polymer-style that we are also cleaning this up
along the way.
Release-Notes: Fix the repository configuration loading and rendering when switching tabs
Bug: Issue 301481564
Google-Bug-Id: b/266010917
Change-Id: Iabb30640319583e1d646dc68d508ab89044aba8b
|
|\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Release-Notes: skip
Change-Id: I1e2b5d352ed64a0e3b4953775299b0df5d6f2a38
(cherry picked from commit 2e5aca9c5de8cf517204e72e00191ec6de4c68ea)
|
|/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change HttpCanonicalWebUrlProvider constructor access to `protected` to
make this clas extendable. This way plugins like virtualhost can change
value of `canonicalWebUrl` based on the HTTP context request.
The problem with different canonical web urls comes into play when
virtualhost and download-commands plugins are used together. When
looking at the virtual host site and opening `Downloads` dialog, the
main host canononical web url will be used in download urls. This may
confuse users.
In order to fix that problem we need to make the default
HttpCanonicalWebUrlProvider extendable. Then we can bind it to a custom
implemenation in virtualhost plugin.
Bug: Issue 299833801
Release-Notes: Allow modules to provide different logic for the HTTP canonicalWebUrl
Change-Id: I8321b153782e0bf8131c66ebe477902a434c6dc1
(cherry picked from commit f0301a2d00950cc1a67f6f917ff0a881230a2a27)
|