Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Revert "Revert "Merge branch 'release'""

This reverts commit 67b8bb8f18f854f45a2f5ec52cc9c8a25981e2f2.

This restores the merge attempt from earlier.

    • -3
    • +4
    ./health/LowMemoryDaemonExpirationStrategy.java
  1. … 65 more files in changeset.
Revert "Merge branch 'release'"

This reverts commit c7fdc455dcb9a8016af0ae9bc8b4c43fde1e2d06, reversing

changes made to 9f70d52b74dbc8c71381781b6c155474031b3cf8.

The changes need a wrapper as there are API changes. Reverting for now.

    • -4
    • +3
    ./health/LowMemoryDaemonExpirationStrategy.java
  1. … 65 more files in changeset.
Reduce the amount of logging that is periodically emitted by an idle daemon

    • -3
    • +4
    ./health/LowMemoryDaemonExpirationStrategy.java
  1. … 2 more files in changeset.
Run perf with loopback

  1. … 14 more files in changeset.
Apply `Anonymous type can be replaced with lambda` inspection the whole project

    • -6
    • +1
    ./CompatibleDaemonExpirationStrategy.java
    • -8
    • +1
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -8
    • +5
    ./exec/StartBuildOrRespondWithBusy.java
    • -28
    • +13
    ./health/DaemonMemoryStatus.java
    • -7
    • +1
    ./health/gc/DefaultGarbageCollectionMonitor.java
    • -22
    • +3
    ./health/gc/GarbageCollectorMonitoringStrategy.java
  1. … 653 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

    • -2
    • +2
    ./DefaultIncomingConnectionHandler.java
    • -1
    • +1
    ./exec/DaemonConnectionBackedEventConsumer.java
    • -2
    • +2
    ./health/gc/DefaultGarbageCollectionMonitor.java
  1. … 900 more files in changeset.
Simplify launcher project structure

    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 559 more files in changeset.
Simplify launcher project structure

    • -0
    • +23
    ./BadlyFormedRequestException.java
    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +99
    ./DaemonRegistryUpdater.java
    • -0
    • +45
    ./DaemonServerConnector.java
    • -0
    • +179
    ./DaemonServices.java
    • -0
    • +456
    ./DaemonStateCoordinator.java
    • -0
    • +106
    ./DaemonTcpServerConnector.java
    • -0
    • +462
    ./DefaultDaemonConnection.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +23
    ./IncomingConnectionHandler.java
    • -0
    • +75
    ./MasterExpirationStrategy.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 544 more files in changeset.
Simplify launcher project structure

    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 561 more files in changeset.
Simplify launcher project structure

    • -0
    • +62
    ./CompatibleDaemonExpirationStrategy.java
    • -0
    • +56
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -0
    • +74
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -0
    • +175
    ./DefaultIncomingConnectionHandler.java
    • -0
    • +56
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 561 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Fix TAPI handling of the client provided system input `InputStream` when running in embedded mode. Previously this input stream would be ignored.

  1. … 9 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -62
    • +0
    ./CompatibleDaemonExpirationStrategy.java
    • -56
    • +0
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -73
    • +0
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -172
    • +0
    ./DefaultIncomingConnectionHandler.java
    • -56
    • +0
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 530 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Let split launcher projects code be shipped in a fat jar

for backwards compatibility

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -62
    • +0
    ./CompatibleDaemonExpirationStrategy.java
    • -56
    • +0
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -73
    • +0
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -172
    • +0
    ./DefaultIncomingConnectionHandler.java
    • -56
    • +0
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 534 more files in changeset.
Split :launcher into :launcher, :launcherBootstrap and :launcherStartup

in order to isolate Java 6 stuff

Let split launcher projects code be shipped in a fat jar

for backwards compatibility

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -62
    • +0
    ./CompatibleDaemonExpirationStrategy.java
    • -56
    • +0
    ./DaemonIdleTimeoutExpirationStrategy.java
    • -73
    • +0
    ./DaemonRegistryUnavailableExpirationStrategy.java
    • -172
    • +0
    ./DefaultIncomingConnectionHandler.java
    • -56
    • +0
    ./NotMostRecentlyUsedDaemonExpirationStrategy.java
  1. … 534 more files in changeset.
Introduce test that simulates GC activity

    • -0
    • +80
    ./health/gc/DefaultGarbageCollectionMonitor.java
    • -46
    • +10
    ./health/gc/GarbageCollectionMonitor.java
  1. … 4 more files in changeset.
Add integration test that fails if Gradle does not understand the JVM's GC settings

    • -37
    • +0
    ./health/gc/GarbageCollectionMonitor.java
    • -0
    • +47
    ./health/gc/GarbageCollectorMonitoringStrategy.java
  1. … 1 more file in changeset.
Rework daemon GC/memory expiration checks

- Do not sniff for VM vendor to figure out which GC strategies may be used

- Rename permgen -> non-heap in most places, Java 8+ uses metaspace for this memory pool

- Rename tenured -> heap

- Only add GarbageCollectionEvents to the observation window when there's been a GC collection

- This simplifies the calculation of GC rate

- Non-heap memory pools are not GC'd

- Re-enable daemon performance soak test

    • -77
    • +34
    ./health/DaemonMemoryStatus.java
    • -2
    • +2
    ./health/HealthExpirationStrategy.java
    • -0
    • +46
    ./health/LowHeapSpaceDaemonExpirationStrategy.java
    • -0
    • +45
    ./health/LowNonHeapDaemonExpirationStrategy.java
    • -45
    • +0
    ./health/LowPermGenDaemonExpirationStrategy.java
    • -46
    • +0
    ./health/LowTenuredSpaceDaemonExpirationStrategy.java
    • -2
    • +12
    ./health/gc/DefaultSlidingWindow.java
    • -23
    • +30
    ./health/gc/GarbageCollectionCheck.java
    • -3
    • +3
    ./health/gc/GarbageCollectionEvent.java
    • -70
    • +23
    ./health/gc/GarbageCollectionMonitor.java
    • -86
    • +68
    ./health/gc/GarbageCollectionStats.java
    • -22
    • +22
    ./health/gc/GarbageCollectorMonitoringStrategy.java
  1. … 11 more files in changeset.
Change SystemProperties standard/important property methods

Instead of returning a set and having call sites call contains, just return a boolean.

  1. … 2 more files in changeset.
Represent the result of `BuildActionExecuter.execute()` as an object that encapsulates either a result object or a failure, rather than as an opaque return value or a thrown `ReportedException`.

  1. … 23 more files in changeset.
Fix metaspace leak in ShutdownHookActionRegister

This class added a shutdown hook and never removed it,

which created a classloader leak whenever it was used

in an embedded context, e.g. in the in-process Groovy

compiler.

The approach of having a single hook with multiple actions

seems like a premature optimization. Creating a Thread object

is not expensive, starting it is. The class now just serves

as a convenience for adding/removing shutdown hooks, but creates

one thread per hook, so it can be correctly removed again.

  1. … 4 more files in changeset.
Allow starting daemon with lower priority

  1. … 23 more files in changeset.
Replace deprectated `IOUtils.closeQuietly` uses with `IoActions.closeQuietly`

  1. … 20 more files in changeset.
Fix handling of InterruptedExceptions

These exceptions were handled incorrectly throughout the whole

codebase, usually rethrown without restoring the interrupt status

or discarded entirely. This means that the system would not stop

executing even though the user wanted it to. In some cases this

also left the system in an inconsistent state, leading to deadlocks.

The most notable changes include:

- UncheckedException.rethrow automatically restores the interrupt status

- AsyncDispatch is guaranteed to deliver its messages, even when interrupted

- ExecHandle cancels the started process if it is interrupted while waiting

- ExecHandle disconnects from the process' output before killing it

- The worker API cancels the started work items if it is interrupted

- ManagedExecutors shut down immediately if they are interrupted while stopping

- We no longer log exceptions caused by interruption to the console

- Interrupting our caches no longer leaks file locks

    • -0
    • +92
    ./exec/DaemonConnectionBackedEventConsumer.java
  1. … 36 more files in changeset.