| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
* remove "using std::" declarations from header files
* add missing "std::" to some string declarations at some header files
* add "using std::string;" to some source files where necessary
--
Change-Id: Ib64f62b5add499d6171fa922227194ac992fa542
Reviewed-on: https://bazel-review.googlesource.com/#/c/6630/
MOS_MIGRATED_REVID=136355671
|
|
|
|
|
|
|
|
|
| |
the Bazel server.
RELNOTES[INC]: --command_port=-1 to use AF_UNIX for client/server communications is not supported anymore.
--
MOS_MIGRATED_REVID=135355673
|
|
|
|
|
|
|
|
|
|
|
| |
* drop "blaze_" prefix (like it was done with statup_options.h)
* add a constructor to initalize the data members
* rename the header file to global_variables.h to match the struct in there.
--
Change-Id: I8c9f89f5d07c9a064bf1999c7bfb6d617d72818a
Reviewed-on: https://bazel-review.googlesource.com/6370
MOS_MIGRATED_REVID=135342354
|
|
|
|
| |
MOS_MIGRATED_REVID=134334656
|
|
|
|
|
|
|
|
|
| |
Spurred by Thiago's change in the area, I figured I'll try removing the PID symlink, but then I realized that this won't work, because the code currently gives precedence to the symlink, which means that if a server that writes both is replaced with a server that only writes the text file, the contents of the text file will not be read.
Also note that in Bazel, long jumps between server versions are much more possible than internally, so the cleanup is just not worth the risk, which is sad.
--
MOS_MIGRATED_REVID=133820484
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with macOS Sierra developer beta 4, the behavior of poll(2) was changed, such that poll(2) will return immediately regardless the timeout if there is no file descriptor.
This fixes #1767.
And, this should be a better solution for Homebrew/homebrew-core#5041.
Closes #1803.
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/1803
MOS_MIGRATED_REVID=133816294
|
|
|
|
|
|
|
|
|
|
|
| |
These two functions have no logic inside it, they just return a string, and a
string that does not change, so they might be better expressed as real C/C++
constants. This might as well generate some better (and less) code anyway.
--
Change-Id: I78673c537c17c2665a74c5778e45a4d41a5f7b50
Reviewed-on: https://bazel-review.googlesource.com/#/c/6114
MOS_MIGRATED_REVID=133805201
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=133693782
|
|
|
|
|
|
|
|
| |
Sometimes, especially in the case of a lot of output, one may not want to write
everything twice.
--
MOS_MIGRATED_REVID=133388416
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL is a verbatim reproduction of the following CLs, modulo adjustments
to cope with changes at HEAD:
* commit 4a45d92130a6b1306a3840d006df165b8040a6cf: Use inheritance to support site-specific options.
* commit dfb2c73eda3d2dd8787ea9b2d0a03b49dfa2acc5: Inject the product name via the per-product main.cc files.
* unknown commit: Remove the internal/external startup_options duality.
The cause that triggered the rollbacks was fixed separately in commit 69a8d7205287bedf3a6140ec9327e2fad1758c22
as prepartory work for this roll-forward, so things should work now.
--
MOS_MIGRATED_REVID=133139218
|
|
|
|
|
|
|
|
|
| |
verifying the identity of the process killed on interrupt.
When the server dies, the client follows soon after, so this is kind of OK.
--
MOS_MIGRATED_REVID=133110872
|
|
|
|
|
|
|
|
| |
- Use an explicit cast to void to tell the compiler that we are intentionally ignoring return values.
- Delete the unused function GetPeerProcessId()
--
MOS_MIGRATED_REVID=132970162
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=132940326
|
|
|
|
|
|
|
|
|
| |
- Don't call setrlimit() (it was needed to make 32-bit JVMs work with >3GB heaps)
- Remove a non-functional way to tweak the Linux scheduler
- Cosmetic fixes
--
MOS_MIGRATED_REVID=132653426
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename BlazeStartupOptions to StartupOptions and turn the latter into a
class that can be subclassed to implement site-specific options
behavior. This lends itself to easier customization for the
site-specific versions, especially if there is more than one, and gets
rid of the strange build-time parameterization of the old
blaze_startup_options*.cc files.
Note that this change introduces various TODOs. This is intentional.
This change is quite complex as it is and I want to focus it on
reshuffling the class structure without actually touching the
internals. The latter can be done in subsequent, more targetted
changes that are easier to review and understand.
--
MOS_MIGRATED_REVID=132555032
|
|
|
|
|
|
|
| |
KillServerProcess() so that we don't call malloc() in signal handlers.
--
MOS_MIGRATED_REVID=132232499
|
|
|
|
|
|
|
| |
case the request fails.
--
MOS_MIGRATED_REVID=131804959
|
|
|
|
|
|
|
|
|
|
| |
This change introduces a new workspace_layout module that collects all
the static methods previously contained in the BlazeStartupOptions
class. These methods are not part of the options so it doesn't make
sense for them to be there.
--
MOS_MIGRATED_REVID=131576959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Increase the ping timeout on connect from five to ten seconds. This gives
servers which may be suffering from gc pressure or other ailments extra time to
respond.
On the other end, wait for orphaned servers to really die before proceeding.
This prevents race conditions around the delivery of SIGKILL and the starting
of the new server.
This may make us fail slower when the server is having hard times, however it
should give us better determinism, and these conditions should be rare.
--
MOS_MIGRATED_REVID=130118918
|
|
|
|
|
|
|
|
|
| |
the logical rollback of commit 67ad82a319ff8959e69e774e7c15d3af904ec23d.
RELNOTES[INC]: Bazel supports Unix domain sockets for communication between its client and server again, temporarily, while we diagnose a memory leak.
--
MOS_MIGRATED_REVID=130027009
|
|
|
|
|
|
|
|
|
|
| |
It is unused since commit f107debac45ddf5859b1eb963379769b5815b18f: ("
Remove the AF_UNIX client/server communication").
--
Change-Id: Ia4051eb518ab7e97fb0523b0b3cdb4c0f19e704c
Reviewed-on: https://bazel-review.googlesource.com/#/c/4290
MOS_MIGRATED_REVID=129971957
|
|
|
|
|
|
|
|
|
| |
It has been superseded by gRPC.
RELNOTES[INC]: Blaze doesn't support Unix domain sockets for communication between its client and server anymore. Therefore, the --command_port command line argument doesn't accept -1 as a valid value anymore.
--
MOS_MIGRATED_REVID=129424092
|
|
|
|
|
|
|
| |
instead of AF_UNIX.
--
MOS_MIGRATED_REVID=128962306
|
|
|
|
|
|
|
|
|
|
|
|
| |
Address the following warnings from the compiler:
* "control reaches end of non-void function [-Wreturn-type]"
* "dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]"
* "ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]"
* "ignoring return value of 'int ftruncate(int, __off_t)', declared with attribute warn_unused_result [-Wunused-result]"
* "ignoring return value of 'int dup(int)', declared with attribute warn_unused_result [-Wunused-result]"
--
MOS_MIGRATED_REVID=128375065
|
|
|
|
|
|
|
|
|
|
|
| |
Darwin.
This is equivalent to what Xcode does with the directories that it generates as part its builds.
fix for https://github.com/bazelbuild/bazel/issues/1514
--
MOS_MIGRATED_REVID=127927131
|
|
|
|
|
|
|
|
|
| |
Turns out, one second is not enough and on very busy machines, the server can be perfectly healthy and still take more than a second to answer.
When the port is not open, it will return quickly anyway.
--
MOS_MIGRATED_REVID=127537803
|
|
|
|
|
|
|
| |
--
Change-Id: I66e8bc8dea7a5cef8eeccc0afebdc06f1b2a8a58
Reviewed-on: https://bazel-review.googlesource.com/#/c/4033/
MOS_MIGRATED_REVID=127418054
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=127319649
|
|
|
|
|
|
|
|
|
|
|
| |
passes between the Ping() and Run() calls and make Ping() and Cancel() calls restart the server timeout interval.
This "fixes" a race condition where the client would call Ping(), the server would time out and then the Run() call would fail. Of course, this is not an principled fix because in theory, the timeout can still happen between the two calls, but now there are only simple file system operations and a tiny bit of CPU use between the two so it should be vanishingly unlikely. We use ->Ping() to verify server liveness after we start it up, so in theory, the timeout could strike between those two calls, too...
TESTED=By running "bazel --max_timeout_secs=2 info install_base" 100 times in a test and running the test 200 times. This procedure triggered the bug pretty reliably.
--
MOS_MIGRATED_REVID=126902519
|
|
|
|
|
|
|
|
| |
- Use the abrupt exit protocol to return the correct exit code when the server dies unexpectedly in gRPC mode
- Report the command waiting time correctly even if the waiting is done within the server
--
MOS_MIGRATED_REVID=126780186
|
|
|
|
|
|
|
|
| |
These don't do anything for a 64-bit JVM.
Also remove some very old GC tuning flags for --batch.
--
MOS_MIGRATED_REVID=126303269
|
|
|
|
|
|
|
| |
Bazel is using the right value.
--
MOS_MIGRATED_REVID=125764994
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125589653
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-XX:TieredStopAtLevel=1 instead of -client, as the latter is ignored on 64-bit JVMs since at least JDK 6.
The new flags have been shown to cut down CPU time by 50% due to reduced time spent in JIT and improving overall run time for short running actions, some times also cutting them in half.
Here's a benchmark of Bazel building itself, giving a nice 2-4x speedup:
./output/bazel clean && ./output/bazel build //src:bazel
Bazel before this change:
INFO: Elapsed time: 197.783s, Critical Path: 194.10s
INFO: Elapsed time: 198.928s, Critical Path: 195.65s
INFO: Elapsed time: 194.913s, Critical Path: 191.56s
Bazel before this change with --strategy=Javac=worker:
INFO: Elapsed time: 130.436s, Critical Path: 124.27s
INFO: Elapsed time: 116.114s, Critical Path: 112.30s
INFO: Elapsed time: 116.852s, Critical Path: 84.45s
Bazel with this change:
INFO: Elapsed time: 121.625s, Critical Path: 119.08s
INFO: Elapsed time: 119.401s, Critical Path: 115.80s
INFO: Elapsed time: 121.198s, Critical Path: 119.03s
Bazel with this change and --strategy=Javac=worker:
INFO: Elapsed time: 54.456s, Critical Path: 51.28s
INFO: Elapsed time: 53.272s, Critical Path: 51.09s
INFO: Elapsed time: 52.966s, Critical Path: 49.86s
Bazel with this change and --strategy=Javac=worker and stripping -XX:TieredStopAtLevel=1 from JVM flags when using workers:
INFO: Elapsed time: 61.599s, Critical Path: 58.93s
INFO: Elapsed time: 48.695s, Critical Path: 45.02s
INFO: Elapsed time: 46.874s, Critical Path: 43.91s
INFO: Elapsed time: 46.174s, Critical Path: 43.32s
(The latter is a possible optimization for workers and it's also nice to know that the limited tiered compilation does not hurt their performance.)
--
MOS_MIGRATED_REVID=125448089
|
|
|
|
|
|
|
|
|
| |
handler in the client.
This makes Ctrl-C work on Windows somewhat: in particular, in non-batch mode and while no actions are running.
--
MOS_MIGRATED_REVID=125318172
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125171210
|
|
|
|
|
|
|
| |
Fixes #1336.
--
MOS_MIGRATED_REVID=124231262
|
|
|
|
|
|
|
|
|
|
|
| |
(finally) delete Constants.java.
For bazel the file Constants.java is the only source of
src/main/java/com/google/devtools/build/lib:common and since it was exporting
guava then many dependencies needed to be fixed.
--
MOS_MIGRATED_REVID=123648270
|
|
|
|
|
|
|
|
|
|
|
| |
handle SIGINT.
std::mutex and friends are not safe from signal handlers . I originally dismissed this approach because I thought it would be complicated, but it turned out to be much, much simpler than what we had before.
The alternative would be signalfd(), which is Linux-only.
--
MOS_MIGRATED_REVID=123578795
|
|
|
|
|
|
|
|
|
| |
pessimistically OOMing when GC thrashing. The first seems to make us hang on OOM, which is kind of the opposite of what we want.
These flags are now even more terribly named than they used to be, but a rename can wait until we actually know what we want.
--
MOS_MIGRATED_REVID=123036704
|
|
|
|
|
|
|
| |
and separation of concerns.
--
MOS_MIGRATED_REVID=122067150
|
|
|
|
|
|
|
|
|
|
|
| |
actually a server process.
This should be implemented for other OSes, too, but OS X seems to lack a procfs and it's not clear how to discover anything about a process based on its PID and of course, Windows is a wholly different cup of tea.
More work for #930.
--
MOS_MIGRATED_REVID=121262673
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Made the control flow much simpler and more understandable
- Added some documentation about the interplay of the client and the server
- Abstracted out POSIX mechanisms from blaze.cc so that they can be implemented properly on Windows
- Added assertions that the methods on BlazeServer are called when they should be
Polish for #930.
--
MOS_MIGRATED_REVID=121256601
|
|
|
|
|
|
|
|
|
| |
This is so that only one server instance is started up if two clients are started in a workspace that doesn't have a running server yet.
More work towards #930. This may break Windows in case flock() doesn't work there as expected. In anticipation of this, locking is moved to blaze_util_platform.h / blaze_util.cc .
--
MOS_MIGRATED_REVID=121013078
|
|
|
|
|
|
|
|
|
| |
This is still fallout from a bad merge I did yesterday.
More progress towards #930.
--
MOS_MIGRATED_REVID=121006319
|
|
|
|
|
|
|
| |
way that actually works.
--
MOS_MIGRATED_REVID=120997894
|
|
|
|
|
|
|
|
|
| |
This change makes it possible to build Bazel with itself in server mode.
Progress towards #930 . Does not completely fix it because there are still a bunch of issues that need to be taken care of, but it's usable.
--
MOS_MIGRATED_REVID=120994369
|
|
|
|
|
|
|
|
|
|
|
|
| |
The correct spelling of it, is, of course, "common".
While at this, this also fix a mistaken usage of "from" instead of
"form" in ConvertPath() documentation.
--
Change-Id: If93984b57da0c98b6dfe4ca70fd4158bd9e1a861
Reviewed-on: https://bazel-review.googlesource.com/#/c/3500
MOS_MIGRATED_REVID=120921796
|
|
|
|
|
|
|
|
|
| |
AF_UNIX doesn't work on Windows, so it doesn't make much sense to try.
Progress towards #930.
--
MOS_MIGRATED_REVID=120912873
|
|
|
|
|
|
|
|
|
| |
This is necessary because msys2 signals don't work on native Win32 processes, for example, java.exe .
Forcefully terminating the process still doesn't work because it uses signals. It's a-coming.
--
MOS_MIGRATED_REVID=120903711
|