| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I4ee1d3f0e96fa74600b4c530706cdea8e6ef3ddb
|
|\ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | / / /
| | | |_|/ / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-3.0:
Update git submodules
Upgrade testcontainers to 1.12.0
Set version to 2.15.16-SNAPSHOT
Fix ls-user-ref and use the correct identity for listing refs
Set version to 2.15.15
ReceiveCommits: Fix comparison to ensure correct log message
NotifyResolver: Remove todo that is already addressed
Set sshd.threads to at least 4.
Add assertThrows method compatible with future JUnit 4.13
ReceiveCommits: Bypass commit count when skip-validation is used
Update git submodules
Introduce repository size quota enforcer
Extend QuotaBackend and QuotaEnforcer extension point
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Redirect /groups/self to /settings/#Groups
Add support for /groups
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
AccountCacheImpl: Don't return null on error but Optional.empty()
change-merged: set correct newRev on submit by push
Change-Id: I63059ad2e80bf10f972afe3b5c80aa323fb663ee
|
| | |\ \ \ \ \
| | | | |_|/ /
| | | |/| | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-2.16:
Update git submodules
Upgrade testcontainers to 1.12.0
Change-Id: Id797c49a0b7ae3fdd1e82550aca0a3ab82481ec8
|
| | | |\ \ \ \
| | | | | |_|/
| | | | |/| |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-2.15:
Upgrade testcontainers to 1.12.0
Change-Id: Ie259561d76b8412a585fb82eea5c984b08f97c08
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I95306fd694138e9e9bb51cb798c49d400323bf07
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Update plugins/replication from branch 'stable-2.16'
to bcb15e00b3bd8804417d7401cff12a941bdb8aee
- Revert "Do not reload config when queue is not ready"
This reverts commit a3cf8a61980a84ae710b15cb93d9a2a7423d93cf.
Breaks the test on stable-3.0. This should be re-done after the
tests have been backported to stable-2.16.
Change-Id: I147ee42cf3607aa1943a5f57070687a9f0948036
|
| | |\ \ \ \ \ |
|
| | |/| | | | |
| | | |/ / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-2.16:
Set version to 2.15.16-SNAPSHOT
Fix ls-user-ref and use the correct identity for listing refs
Set version to 2.15.15
ReceiveCommits: Fix comparison to ensure correct log message
Set sshd.threads to at least 4.
Add assertThrows method compatible with future JUnit 4.13
ReceiveCommits: Bypass commit count when skip-validation is used
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
change-merged: set correct newRev on submit by push
Change-Id: I481b3cb4d4998b7d387262ab523c53407f5841b5
|
| | | |\| | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-2.15:
Set version to 2.15.16-SNAPSHOT
Set version to 2.15.15
Change-Id: I51007776b1f99e444fa999c44187a4df62dd654b
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I15461caddd06298f43e7027a79722712bc1d76e6
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I61294bb743c49cfd1cd23b201cdd2bb5ae7c82a4
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The ls-user-ref was broken by Change-Id: I1819de0bab where
the refactoring of the permission backend needed to be passed
the current user as parameter. As a result, the LsUserRefs, started
using the user's identity executing the command instead of the one
requested as a parameter.
Bug: Issue 11235
Change-Id: I48b6e14a2fe24d3d2a96a8274bd9e0108dc0c95d
|
| | | |\ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: Issue 11083
Change-Id: I12acf29549c35c93219867348c3691a24415e28c
|
| | | |\ \ \ \ \ |
|
| | | |/| | | | |
| | | | | |/ / /
| | | | |/| | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-2.15:
ReceiveCommits: Fix comparison to ensure correct log message
Set sshd.threads to at least 4.
Add assertThrows method compatible with future JUnit 4.13
ReceiveCommits: Bypass commit count when skip-validation is used
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Update git submodules
Change-Id: Iea0dc2d5f28c0c8e0489e7ce2bb429064ce7aca3
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The condition added in change Ie838da01c prevents the commit count
from being incremented, resulting in the log message:
"Validated {} new commits"
always showing "0 new commits".
Change-Id: I44456dfa3587fac1cac29d61ded51203274ae940
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Otherwise, weird hangs can occur, for example when using Git LFS.
See https://github.com/git-lfs/git-lfs/issues/3727
Change-Id: Ic19cb136bb37d62d8339b85c514c180f733e3465
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The testing guidelines at Google have the following to say about testing
for exceptions:
"The strongly preferred solution is to use Assert.assertThrows().
...
In some situations you will decide it is important to check additional
details about the thrown exception. You might care about its message, or
the attributes of its chained exception, for example.
It is easy to check these details, as assertThrows returns the thrown
exception to you, and you can pass it to Truth.
...
There are two cases where you can't use assertThrows:
* In open-sourced code, until JUnit 4.13 is released.
* When you aren't able to use Java 8 constructs like lambda expressions.
(You can still use assertThrows, but you may find it bulky enough to
outweigh its advantages.)
However, use caution when doing so
...
Don't use ExpectedException, @Test(expected =), or
ExceptionExpectations. You can find a lengthy explanation of the
pitfalls of these approaches in this page's history."
I've mentioned these pitfalls in code reviews before, based on this
advice. Paraphrasing the page history referenced above:
* The main downside of manual try-fail is it's easy to forget the
fail call; we've been bitten by this in Gerrit several times.
* ExpectedException is dangerous because any statements after the
throwing call will never be executed, even though the author of those
statements probably did not intend this.
* @Test(expected) passes if *any* statement in the test body throws,
regardless of which statement the author had in mind. Later
statements may not execute at all.
Unfortunately, JUnit 4.13 is taking much longer to release than
anticipated. I asked the Truth team approximately one year ago whether
it would make sense to add assertThrows to Truth itself; their answer
was that they didn't think it was worth it, given that it would
eventually be replaced by JUnit 4.13. They told me that if we want to
use it sooner, we should roll our own, so here we are.
I wrote this method to be source-compatible with the method in JUnit
4.13 based upon reading the method signature and Javadoc of JUnit.
However, I wrote the implementation from scratch without referencing the
JUnit implementation.
Change-Id: I4a774846ad6245f418c50be02dc469698b6e4def
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
When a plugin implements CommitValidationListener and overrides the
shouldValidateAllCommits method to return 'true', direct push fails if
the number of commits exceeds receive.maxBatchCommits, even when the
skip-validation push option is used, thus preventing direct push of any
non-trivial repository.
Bypass the check for receive.maxBatchCommits when the skip-validation
push option is used.
Extend the tests to cover this use case.
Bug: Issue 11222
Change-Id: Ie838da01c76aeba797c714476c8977cbe7caaacf
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
Signed-off-by: David Pursehouse <dpursehouse@collab.net>
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 3b1b656d09eb2dd73f94f50772bbeb39d167b540
- Revert "Remove replication event from pending when runway is allowed"
This reverts commit e780ae61cbbba3f88558a3620065d1fcdc0768c8.
Reason for revert: Creates potentially infinite Heap consumption and
JVM crash when a PushOp is denied to use the runway.
The problem is caused by the late removal of the PushOp from the
list of pending operations, which causes the subsequent reschedule
to find the same operation and double the number of replication states
associated with it. If the loop happens multiple times, the generated
consumption grows exponentially causing the JVM to enter a series
of continuous stop-the-world GC that eventually lead to complete
block of the JVM activity.
The method `requestRunway` is thus not telling the truth because
it is actually relying on the fact that the PushOne operation is
removed also from the pending list, independently from its runway
concession status.
Change-Id: I6097bc7ad16c8bcc86a7d30af7d2ad331728712d
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 0df288afccb53b7abbe4f2ee90f68c80e9dcd2c7
- ReplicationFileBasedConfig: Fix setting default sshConnectionTimeout
The default value did not get set when the replication config did not
exist, was empty, or was invalid. This is not really a problem since
if there is no config, no SSH connections are made anyway.
A more serious issue is that the value was read with minutes as the
default time unit, but then converted to milliseconds using seconds as
the time unit, which resulted in an incorrect value.
Change-Id: I64906e29acb56f0f53b432db61d2707dfe1963d3
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 7f94fed1b567713a629f7621ff2c511767e448ab
- SshHelper: Add class javadoc
Change-Id: I80ab0c2225ad02628b630889c299c474e0087d70
- Make more classes and fields public to ease extensibility
Make classes public, and their constructors protected, to allow
them to be extended.
Make event type names and fields public.
Change-Id: Iba275f99b7afbf87d57dd44851d043ad0f23fbe1
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 624ec820682e0d7b163e1de262134b7b94087441
- Allow to configure timeout for SSH connection and commands
The timeout for SSH command execution is hard-coded to 0 which means
no timeout, and the timeout for SSH connections is hard-coded to 2
minutes.
Introduce new configuration options to allow configuring each timeout
individually:
gerrit.sshCommandTimeout
gerrit.sshConnectionTimeout
When not set, both default to their previously hard-coded values,
i.e. no limit and 2 minutes respectively.
Change-Id: Ibd377d45543ef4631082e8d521aeeb99209003f7
Signed-off-by: Dariusz Luksza <dluksza@collab.net>
Signed-off-by: David Pursehouse <dpursehouse@collab.net>
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 95dc833b63a1629608c64e343ab07fa6cafc84a9
- StartCommand: Fix synchronization on non-final field
When all error prone warnings are enabled the SynchronizeOnNonFinalField
bug pattern is reported:
plugins/replication/src/main/java/com/googlesource/gerrit/plugins/replication/StartCommand.java:103:
error: [SynchronizeOnNonFinalField] Synchronizing on non-final fields is not safe:
if the field is ever updated, different threads may end up locking on different objects.
synchronized (stdout) {
^
(see https://errorprone.info/bugpattern/SynchronizeOnNonFinalField)
Change-Id: Ib2df20aa28af4edd36ce5b9dfcf7d82c409dab84
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 404e5069adbdf7d9ab17b887894842ad3638042d
- Destination: Suppress FutureReturnValueIgnored warning
When all error prone warnings are enabled the FutureReturnValueIgnored
bug pattern is reported, for example:
plugins/replication/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java:367:
error: [FutureReturnValueIgnored] Return value of methods returning Future must be checked.
Ignoring returned Futures suppresses exceptions thrown from the code that completes the Future.
pool.schedule(e, now ? 0 : config.getDelay(), TimeUnit.SECONDS);
^
(see https://errorprone.info/bugpattern/FutureReturnValueIgnored)
Did you mean to remove this line?
Change-Id: I43b5c3c9f9bf8cda5f2d4ee701b2153e7e6f2807
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.16'
to a3cf8a61980a84ae710b15cb93d9a2a7423d93cf
- Do not reload config when queue is not ready
Do not stop/start the replication queue upon a new configuration
added when the queue is either not running yet or is replaying
incoming events.
Restarting a partially initialized queue would have unexpected
consequences as the objects that are needed to schedule and
serve the requests could be still null and generate random NPEs
all around.
The replay also is a very delicate phase because it is responsible
for the replay of the past missed replication events that should
be re-triggered with highest priority possible. All new events
and new configuration can wait to be processed once all the
past events have been replayed and have completed.
Bug: Issue 11055
Change-Id: Ib154532ec32a50f4cb9ca5553c1f77fa931ae2ac
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The todo has been resolved by change I677def138.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I43280367efed0cda63246cafaa3b106b86f1145b
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* changes:
Introduce repository size quota enforcer
Extend QuotaBackend and QuotaEnforcer extension point
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This patch introduces "/repository:size" quota group that gets examined
when commits get pushed to the repository. It moves the responsibility of
quota check to Gerrit core so that implementation details don't have to
be exploited by quota plugin.
Pros:
* simplified implementation of quota plugin (only QuotaEnforcer needs
to be implemented)
* better compatibility in long term (quota plugin doesn't have to
recognise all the places when it is necessary to hook into in order
to deliver repository size quota functionality)
Change-Id: I481bec083be7f5b28bf69b9c8de119e74b32a095
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The current design is complete from the perspective when the number
of tokens is known prior it is requested. However, there is at least
one case when a check should be performed against available tokens:
receive commit.
When a commit is transmitted its size is not known until it gets received
and quota is examined by PackParser.checkIfTooLarge(...) method after the
object is successfully read from the client. IOW object size is checked
against available space.
This change extends both QuotaEnforcer and QuotaBackend with methods
that allow retrieving the value of available tokens from implementations.
In case when the particular implementation doesn't provide input on
specific quota it should return QuotaResponse.noOp() object.
However, when more implementations return a value the minimum is returned
so that it is assured that it can be potentially requested.
Note that getting available tokens doesn't result in deducting them
from the tokens bucket, therefore, it is possible to pass over the
available quote however it will be eventually enforced.
Another implementation that was considered was to extend JGit with a
hook that would be called when object is received. It would have been
used to request object size value tokens. It could be performed this way
if/when JGit is modified.
Change-Id: I56091fe98148eff7ed1c1bcd8e4cf32c30081439
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-3.0'
to 49597f862d8449da38813c7f6dd8a64c26d95a56
- AbstractConfigTest: Import createTempDirectory static
Change-Id: I1d8816b1f3f903d7c161377158ae49574fd70b1e
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-3.0'
to 31a2fe27315c94f9b0b2d47f3dd2f6ea52790261
- Trace details of the replication events cancelled
When a destination is stopped, show in the replication_log
the number of pending and in-flight events cancelled.
The whole pending and in-flight cancellation is done through
a stateLock critical region, so that the state of the
destination object doesn't change in the middle of the
operation.
Change-Id: Ife2642bd4d1fd0ade627ace01b95bde6a9748d66
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: I97d3314e0595512bea21b20b57eb0532b69d5852
(cherry picked from commit f7303f7c16bfd37d0890931c89401a9e16a9048a)
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The /groups url seems to work in PolyGerrit so there's no reason
to blacklist it.
Change-Id: I78bffe2796e1953efbbbf9d45479a1d7bd918928
(cherry picked from commit a463d75a554b564c9b952856f2c1b1b6fac2a850)
|
| | |\ \ \ \ \ \ |
|
| | |/| | | | | |
| | | |/ / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-2.16:
Update git submodules
Update git submodules
Change-Id: I0f97b70ed171232b337a4cc134fa788acb1480c9
|
| | | |\| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* stable-2.15:
Update git submodules
Change-Id: I57764c51cf78018faffe9e76c519deb71b479185
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Update plugins/replication from branch 'stable-2.15'
to 20bc91d0bd11dd2c9b77aedb6bebb02fa67f70f4
- Cancel pending replications upon shutdown
When the replication plugin is stopped or reloaded,
mark all the current replications as cancelled.
Having pending and unmanaged replication tasks is quite
dangerous for two reasons:
1. The result of the replication isn't accounted and
properly managed, because the associated objects won't
be there anymore (pending replications, runway, ...)
2. The destination configuration could have changed completely
(auto-reload use-case) or even not exist anymore: the
replication event would thus perform an unwanted and
unconfigured operation.
With regards to the replication events that are already
on the runway, there is no value in cancelling them. Just flag
them as cancelled so that, once they finish, can be clearly
recognized.
Change-Id: Iabc17d375011cbc61f8c642ae07d3d018b49fc69
- Remove replication event from pending when runway is allowed
Consider a replication event not pending anymore *only if* the runway
is free and allowed to run. Removing it too early would result in a
ghost event which isn't officially pending but that will be eventually
run when rescheduled.
Change-Id: Ib0ffa3bec7a6d5d5be56e78a677e8b2133f91e18
|
| | | | |/ / /
| | | |/| | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Update plugins/replication from branch 'stable-2.16'
to 57c0f0be81242067a01f6639a659bbdd3904e274
- Merge branch 'stable-2.15' into stable-2.16
* stable-2.15:
Cancel pending replications upon shutdown
Remove replication event from pending when runway is allowed
Change-Id: I81209708a42832cbe2be818e2dd50f625362b392
- Cancel pending replications upon shutdown
When the replication plugin is stopped or reloaded,
mark all the current replications as cancelled.
Having pending and unmanaged replication tasks is quite
dangerous for two reasons:
1. The result of the replication isn't accounted and
properly managed, because the associated objects won't
be there anymore (pending replications, runway, ...)
2. The destination configuration could have changed completely
(auto-reload use-case) or even not exist anymore: the
replication event would thus perform an unwanted and
unconfigured operation.
With regards to the replication events that are already
on the runway, there is no value in cancelling them. Just flag
them as cancelled so that, once they finish, can be clearly
recognized.
Change-Id: Iabc17d375011cbc61f8c642ae07d3d018b49fc69
- Remove replication event from pending when runway is allowed
Consider a replication event not pending anymore *only if* the runway
is free and allowed to run. Removing it too early would result in a
ghost event which isn't officially pending but that will be eventually
run when rescheduled.
Change-Id: Ib0ffa3bec7a6d5d5be56e78a677e8b2133f91e18
|
| | |\| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* stable-2.16:
AccountCacheImpl: Don't return null on error but Optional.empty()
Change-Id: I94e746d9566780b6976d4d665d02946cb0a8c047
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Callers do not expect that methods that return an Optional may also
return null.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I1962891693aaa9048771f5f7eae7c303a826da13
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Update plugins/replication from branch 'stable-3.0'
to 51cd1e7b7b2a4c7f7778d49d64b70e2f617ca714
- Cancel auto-reload runnable at configuration shutdown
Avoid having multiple auto-reload runnable when
the configuration is shut down and restarted.
The situation happens quite often when the configuration
is reloaded and generates unnecessary extra concurrency
on the configuration objects other than increasingly consuming
additional tasks.
Bug: Issue 11187
Change-Id: Ic03ce3fceb0df746d20437ae7cf4d2a8f4822d02
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In Gerrit, it is common practice to use empty Strings to unset a value
in contexts where using null is not possible. We need something similar
for timestamps as well.
Inside of the Gerrit backend, we introduce TimeUtil.never() to indicate
this value. For users of Gerrit's REST API, we introduce another mapping
for convenience: an empty timestamp string in JSON will be mapped to the
magic value. We deliberately don't add the reverse mapping as proper
implementations in Gerrit should never set this value internally and
hence it should never be returned to the user.
Change-Id: I533b793227de4315893ee99750b20a442ff3c081
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I9515f6d69cf52c82913b1182ed135c619b377b83
|
|\ \ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: Iaf2fc09dee221cf25d05932ba8ccf30b047da014
|
|\ \ \ \ \ \ \ |
|