aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/worker
Commit message (Collapse)AuthorAge
...
* Split BlazeModule.getCommandOptions into two; unify all implementations.Gravatar Ulf Adams2016-06-23
| | | | | | | | | | | Several modules now explicitly add common command options. Of the remaining ones, most add options to the build command, except one, which adds options to query. They now all use the canonical implementation. Also updated the documentation to clarify what this method actually does. -- MOS_MIGRATED_REVID=125560058
* Let Java header compilation run locally when --experimental_persistent_javac ↵Gravatar Philipp Wollermann2016-06-15
| | | | | | | is used (otherwise Javac might run locally, but header compilation might use remote execution, which kills performance due to copying files back and forth). -- MOS_MIGRATED_REVID=124847424
* workers: Improve verbose messages when workers are restarted. Prevent ↵Gravatar Philipp Wollermann2016-05-24
| | | | | | | | | | | | | | | | | killing of broken workers in the background, when no build is currently running, because we can only alert the user about what's going on while a build is currently running. If you're a developer, this will probably help you when debugging a new worker. Some messages you might see with --worker_verbose specified: INFO: Worker configuration has changed, restarting worker pool... WARNING: Javac worker (id 6) can no longer be used, because its files have changed on disk [13ce6c10546243b6b4ea2334dd3f8a55705e4c078cedd0e746d7ad7cee082e9a -> 9731223c50bab5c1f20d60d1a4967cf2726840727b6a639b6f6425547a9b4a10]. WARNING: Javac worker (id 4) can no longer be used, because its process terminated itself or got killed. -- MOS_MIGRATED_REVID=123093071
* workers: When a WorkerFactory is instantiated, first remove old worker logs ↵Gravatar Philipp Wollermann2016-05-24
| | | | | | | that belong to a prior running Bazel server. -- MOS_MIGRATED_REVID=123092141
* Fix #837: worker_verbose flag has no effect.Gravatar Philipp Wollermann2016-05-19
| | | | | | | Due to reusing an old Reporter instead of grabbing the current one for each build, verbose messages were lost and not printed to the console. Also adds a test for this feature. -- MOS_MIGRATED_REVID=122639383
* More detailed error message for sandbox failures in test, when ↵Gravatar Yue Gan2016-04-13
| | | | | | | | | --sandbox_debug and --verbose_failures are on. See discussion in #1049. RELNOTES: -- MOS_MIGRATED_REVID=119635080
* Make worker more defensive about NPEsGravatar Kristina Chodorow2016-04-01
| | | | | | | | | I was messing with filesystem dirtiness checkers and got an NPE, and I guess it was so early in the build that the buildRequest didn't have WorkerOptions yet, so I got a NPE from WorkerModule.buildComplete masking the actual NPE. -- MOS_MIGRATED_REVID=118780059
* Move most BlazeRuntime methods related to workspace directories to CommandEnv.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118561661
* Add Python protobuf to Bazel third_party and move all protobuf targets intoGravatar David Chen2016-03-17
| | | | | | | //third_party/protobuf. -- MOS_MIGRATED_REVID=117336377
* Remove incremental heuristic from workers, as it was not really useful.Gravatar Philipp Wollermann2016-02-29
| | | | | -- MOS_MIGRATED_REVID=115800229
* Let ActionContextConsumer#getActionContexts() return a Multimap instead of a ↵Gravatar Philipp Wollermann2016-02-28
| | | | | | | | | | | Map. This makes it possible to request multiple implementations of the same ActionContext to be available via Executor#getContext(). Currently, specialized SpawnActionContexts like the sandbox or the worker strategy that might have to do a fallback each instantiate their own private copy of e.g. the StandaloneSpawnStrategy. With this change, they can instead get a global instance from the Executor. -- MOS_MIGRATED_REVID=115705811
* Rename SpawnActionContext#isRemotable() to more appropriate ↵Gravatar Philipp Wollermann2016-02-28
| | | | | | | willExecuteRemotely(). Remove unused parameter "mnemonic". -- MOS_MIGRATED_REVID=115666410
* Rename proto dependencies to include a _java component in them.Gravatar Julio Merino2016-02-23
| | | | | | | | While doing this, homogenize the two dependencies on build.proto (via build_proto and build_proto_v2) into a single build_java_proto. -- MOS_MIGRATED_REVID=115328219
* Use absolute paths in ProcessBuilder invocations.Gravatar Dmitry Lomov2016-02-17
| | | | | | | Needed for #276. -- MOS_MIGRATED_REVID=114838538
* Rename MiddlemanExpander to ArtifactExpander, and refactor it to yield ↵Gravatar Michael Thvedt2016-02-09
| | | | | | | ArtifactFiles. -- MOS_MIGRATED_REVID=114166208
* Make The Build Faster: More explicit exception handling in the worker strategy.Gravatar Philipp Wollermann2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114102899
* Make The Build Faster: Drop the describeStrategy() and strategyLocality() ↵Gravatar Philipp Wollermann2016-02-03
| | | | | | | | | methods, as we can simply pass an ActionStatusMessage to the EventBus instead. All SpawnActionContexts now send an appropriate message when they execute a Spawn. This also gets rid of the idiom that an Action knows which strategy will be used to execute it - this decision and knowledge belongs to the executor, not the action. -- MOS_MIGRATED_REVID=113731846
* Create the convenience symlinks only after the build, and only those that ↵Gravatar Lukacs Berki2016-01-21
| | | | | | | | | point to an existing directory. This required fixing the worker strategy so that it reads params files not through said convenience symlinks, but from the execroot. -- MOS_MIGRATED_REVID=112682485
* When using workers for Java compilation, build deploy jars and source jars ↵Gravatar Philipp Wollermann2016-01-21
| | | | | | | on the local machine, too. -- MOS_MIGRATED_REVID=112675289
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Reorganize BUILD files.Gravatar Han-Wen Nienhuys2015-11-30
| | | | | -- MOS_MIGRATED_REVID=108985661
* Flip --worker_verbose to false by default.Gravatar Philipp Wollermann2015-11-05
| | | | | -- MOS_MIGRATED_REVID=107069073
* workers: Pass a map of input filenames -> digest of file contents to workers ↵Gravatar Philipp Wollermann2015-11-05
| | | | | | | so that they can cache and reuse state for unchanged inputs over multiple builds. -- MOS_MIGRATED_REVID=107066408
* workers: Put command-line arguments into the WorkRequest instead of passing ↵Gravatar Philipp Wollermann2015-11-05
| | | | | | | | | the @flagfile. Note that this does not resolve recursive @flagfile inclusion in the args if they're present. -- MOS_MIGRATED_REVID=107052447
* workers: Restart worker processes when their binary has changed since they ↵Gravatar Philipp Wollermann2015-11-05
| | | | | | | were launched. -- MOS_MIGRATED_REVID=107050157
* Split off more BUILD files.Gravatar Han-Wen Nienhuys2015-10-28
| | | | | -- MOS_MIGRATED_REVID=106493557
* Separate BUILD file for options and docgen.Gravatar Han-Wen Nienhuys2015-10-16
| | | | | -- MOS_MIGRATED_REVID=105511114
* Split off 2 BUILD files.Gravatar Han-Wen Nienhuys2015-10-13
| | | | | -- MOS_MIGRATED_REVID=105301167
* Rename protobuf targets to xxx_proto.Gravatar Han-Wen Nienhuys2015-10-09
| | | | | -- MOS_MIGRATED_REVID=105054615
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Heavily refactor ProfileCommand to separate output and statistics generation ↵Gravatar Klaas Boesche2015-09-22
| | | | | | | and enable their reuse -- MOS_MIGRATED_REVID=103634406
* workers: Put all tests in bazel_worker_test.sh. Add a testbed that makes it ↵Gravatar Philipp Wollermann2015-09-21
| | | | | | | easy to test details of how the worker strategy behaves in corner cases. -- MOS_MIGRATED_REVID=103541927
* workers: Make sure to wait for worker processes to exit so that they don't ↵Gravatar Philipp Wollermann2015-09-21
| | | | | | | become zombies. -- MOS_MIGRATED_REVID=103541217
* workers: Remove unneeded constructor.Gravatar Philipp Wollermann2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103541148
* workers: Some tweaks to the WorkerPool config.Gravatar Philipp Wollermann2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103541116
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Introduce CommandEnvironment and pass it instead of BlazeRuntime.Gravatar Ulf Adams2015-09-15
| | | | | | | | The very long term plan is to make BlazeRuntime immutable, so that we can run multiple commands in the same server. -- MOS_MIGRATED_REVID=103080946
* workers: A multitude of bug fixes and improved logging.Gravatar Philipp Wollermann2015-09-14
| | | | | | | | | | | | | | | | | | | | | | | I know this should have been split up, but I was a bit on fire today and did it all in one go ^^; Fixes spurious "Stream closed: Stream closed" errors, by noticing dead workers and retrying with a fresh one. (Configurable with the --worker_max_retries flag.) Fixes an "IllegalArgumentException" when a non-worker compatible Spawn is given to the strategy. We fall back to StandaloneSpawnStrategy now. Redirect the stderr of worker processes to separate log files in a common sub-directory and print a message that tells you about the location on worker start-up for easier debugging. The log can be found in <output_base>/worker-logs/*.log. Adds the mnemonic of the Spawn to log messages and the log filename. Adds verbose messages on worker start-up and shutdown. (Enable it with --worker_verbose!) Shuts down the worker pool after a build finished by default, until we sort out one last remaining correctness issue. This also conserves resources, though makes incremental builds a bit slower. Want the maximum performance anyway? Try --experimental_workers_keep_running. Adds stack traces to errors that are caused by buggy workers to aid development. Fixes weird dupli..tripli..quadruple error messages ("Compiling failed: Stream closed: Stream closed: Stream closed: Stream closed."). -- MOS_MIGRATED_REVID=102983853
* Code cleanupGravatar Laurent Le Brun2015-09-03
| | | | | -- MOS_MIGRATED_REVID=102239051
* Send the output of spawns ran in worker processes to the outErr of the ↵Gravatar Philipp Wollermann2015-08-31
| | | | | | | execution context instead of printing it to System.err. -- MOS_MIGRATED_REVID=101941516
* Rollback of several changes related to the persistent Javac worker.Gravatar Han-Wen Nienhuys2015-07-06
| | | | | -- MOS_MIGRATED_REVID=97476421
* Print some diagnostics if Precondition check fails.Gravatar Han-Wen Nienhuys2015-07-02
| | | | | -- MOS_MIGRATED_REVID=97407601
* Split sandbox code from standalone module.Gravatar Philipp Wollermann2015-06-29
| | | | | -- MOS_MIGRATED_REVID=97126283
* Remove --experimental_persistent_javac. Bazel does not support theGravatar Han-Wen Nienhuys2015-06-29
| | | | | | | "local" spawn strategy. -- MOS_MIGRATED_REVID=97124055
* Only run the worker if the build is incremental. Gravatar Han-Wen Nienhuys2015-06-26
| | | | | | | This feature is tunable through --worker_max_changed_files flag. If unspecified, all builds are considered incremental. -- MOS_MIGRATED_REVID=96968367
* Convert ActionContextProvider to an abstract class. This gets rid of a lot ↵Gravatar Philipp Wollermann2015-06-18
| | | | | | | of empty, unused methods in child classes. -- MOS_MIGRATED_REVID=96299366
* Implement persistent worker processes and a spawn strategy that uses them.Gravatar Philipp Wollermann2015-06-10
This will be used by the persistent JavaBuilder, which improves performance of Java compilation by 4x due to profiting from JVM JIT optimizations and not having to relaunch the JVM for every spawn. It is completely generic though, so as long as a tool (ProGuard? Dexer? Whatever.) conforms to the Worker process protocol, it can use the new spawn strategy. -- MOS_MIGRATED_REVID=95527132