These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | da235ad | |
|---|---|---|
| Author: | Ivan | |
| Committer: | GitHub | |
Save the arguments order (#124) Also upgrade `args_parser` to print generated command line from daemon
The documentation is generated from this commit.
| Commit: | ce556fe | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Add support for -frewrite-includes flag while preprocessing (#116) * Added support for rewrite-includes flag while preprocessing * Added rewrite-macros to ignored flags * Fixed review issues * Fix typo in comment * Updated tests * Fix dead pointer
| Commit: | 9755135 | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Implemented strict sharding (#110) A lot of changes in the |LockedQueue| logic
| Commit: | 67dca53 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Do not send "hash_match", if emitter doesn't provide "handled_hash".
| Commit: | 19429c8 | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Calculate unhandled hash only once and verify hash on absorber (#111) * Calculate unhandled hash only once. Also verify hash on absorber * Added tests for cache/hash flags in absorber response
| Commit: | 74a43b3 | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Support PCH & PTH files (#103) There are still some issues. Will fix them after this commit: * Don't render included headers in `FillFlags()` to remove duplication of code in tests and production. * `a call` → `calls` * Simplify and rename test `StoreDirectCacheForLocalResultAfterCacheMiss` → `StoreDirectCacheForLocalResultWithAndWithoutIncludedHeaders`. * Fix deps contents in tests to contain absolute header path instead of absolute PCH path.
| Commit: | fe21b4a | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Add more metrics Also add more tests on `Emitter`
| Commit: | e6c3039 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Properly check and use the number of total shards. Total shards can't be less than 2.
| Commit: | c137b42 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Properly check and use the number of total shards. Total shards can't be less than 2.
| Commit: | 664c212 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Coordinator now sets total shards for emitter.
| Commit: | 44e9ad2 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Coordinator now sets total shards for emitter.
| Commit: | dbdf066 | |
|---|---|---|
| Author: | abyss7 | |
| Committer: | GitHub | |
Implement a sharding of tasks between remote hosts (#96) * Added distribution support to LockedQueue Now Emitter finds out a hash of tasks for remote execution and puts this info to LockedQueue. Also DoRemoteExecute now has assigned distribution value that is used to pop appropriate task from queue. * Factored Index class out of LockedQueue Also updated distribution/range wording to shard/shards_number. Clang version used in travis builds also updated. * Use hash of |HandledSource| to compute shard * Add check on generated source when using shards. * Calculate shard for task - using handled source. * Use a separate worker pool for coordinators. Otherwise they will hang forever. Also don't use progressive sleep in |DoPoll()|. * Fix CoordinatorNoConnection test. * Fix bug with reverse index in LockedQueue. * Added tests for LockedQueue<T>::Index (#97) * Remove task counting from |ThreadPool| interface. It was used only in tests. * Move |LockedQueue::Index| implementation into separate header. * Add pop timeout to |LockedQueue| interface. And take it from configuration in emitter. * Implement |LocketQueue::Pop()| that respects external pool shutdown. * Add more tests on Coordinator rotation logics. * Fix Coorditanor rotation tests. * Update QtCreator project. * Update 'total_shards' from coordinator. * Clean-up emitter tests. * Implement EmitterTest.ConfigurationUpdateFromCoordinator.
| Commit: | 8b6c752 | |
|---|---|---|
| Author: | Matvey Larionov | |
| Committer: | abyss7 | |
Implemented coordinator role. (#93) Also introduced changes to emitter to make him poll known coordinators to receive new remote hosts. Also added distribution field for remotes, but this one is not used for now.
| Commit: | a8b2dba | |
|---|---|---|
| Author: | Shekeen | |
| Committer: | abyss7 | |
Support sanitizer blacklist file (#70) * Support sanitize blacklist file * Fix tests compilation * Correct hash computation * Get rid of ExtraFile type, use Immutable instead. * Remove std::transform and std::accumulate calls. * Refactor hash computation * Review fixes * Use HashMap instead of List for extra files. * Move ExtraFiles type alias to FileCache, more tests. * Add more tests * Remove fsanitize-blacklist flag when preprocessing + one more test.
| Commit: | fc94d9c | |
|---|---|---|
| Author: | Andrey Malets | |
| Committer: | abyss7 | |
Issue 23: implement connection timeout (#62) * ISSUE-23: pass connect timeout to network service. * ISSUE-23: implement Linux part of connect with timeout. * ISSUE-23: implement Mac part. * ISSUE-23: enhance EndPoint a little, cover with test. * ISSUE-23: fix EndPoint::FromPassive and a test. * ISSUE-23: add a test for NetworkService::Connect. * ISSUE-23: fix EndPoint test, use dummy solution for NetworkServiceTest.ConnectTimedOut. * ISSUE-23: fix tests and timeout on Mac. * ISSUE-23: unify zero timeout with Mac, cleanup unused code. * ISSUE-23: s/indefinite/default/. * ISSUE-23: do not include a port if it is empty. * ISSUE-23: cleanup. * ISSUE-23: fix CHECK condition and move it to proper place. * ISSUE-23: fix buffer length for AF_INET6 address. * ISSUE-23: reorder parameters in code and protobufs. * ISSUE-23: remove tests and some EndPoint methods. * ISSUE-23: fix argument order, use clang-format. * ISSUE-23: fix confusing comment. * ISSUE-23: fixed compilation of clang/main.cc
| Commit: | 4fcc9c1 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Do store cache index by default.
| Commit: | b507c84 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Do store cache index by default.
| Commit: | f1e64a0 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
ISSUE-49: Take the process run timeout from config for Absorber.
| Commit: | 592bfa5 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Isolate client configuration logic in a separate class.
| Commit: | 020d645 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-28: implement 'disabled' option for the client.
| Commit: | b8fc880 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-32: Implement the storing of the file cache index on disk. No tests for now.
| Commit: | 0cd49e4 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-24: Store the size of an entry in the manifest v1.
| Commit: | 0a3d53c | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-24: implement |Migrator|.
| Commit: | 78cc5dc | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-14: Auto-generate C++ sources from proto files. Also a major refactoring is done. Need to fix packaging and python files auto-generation.
| Commit: | 92f7516 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Fix bug with the cache not get actually cleaned. DCHECK() -> DCHECK_O_EVAL()!
| Commit: | 8698a20 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-17: Add a couple of new cache size stats.
| Commit: | 8274352 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
ISSUE-6: Add more stats.
| Commit: | 9100c71 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-6: Implement the collector and the statistics service.
| Commit: | 30996ae | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-6: split |BaseDaemon| into |BaseDaemon| and |CompilationDaemon|. New |BaseDaemon| only does some networking stuff.
| Commit: | 1c57d1a | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Rename MACOS -> MACOSX
| Commit: | bdf07c4 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Load plugins only for an actual platform.
| Commit: | 80a9f43 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Use plugin path from the client configuration, if available.
| Commit: | 910f111 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Clean-up the cache periodically. Every 10 minutes by default.
| Commit: | f09de12 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Use the version of the internal Clang library for a direct hash.
| Commit: | b5eb9d3 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Allow to specify number of threads for the cache checking.
| Commit: | a95d842 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Specify default read/send timeout values if no config present.
| Commit: | 38bc170 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Make the read and send connection timeouts configurable.
| Commit: | 3090efe | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Totally remove the option |cache.sync| from everywhere.
| Commit: | 5b6d1b9 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Allow client to use configuration file instead of environment variables. Configuration file name should be ".distclang" It's searched in the current working directory and it's parents.
| Commit: | 912691c | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Turn off IPv6 by default. Since it doesn't work right now.
| Commit: | c88afc6 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Add support for IPv6.
| Commit: | 1d14592 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Rename |file_cache| to |cache|. Also, move |FileCache| into namespace |cache|.
| Commit: | e97ff37 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
Update protobuf. They have moved to git repo - at last.
| Commit: | 0b98dd6 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-19: Use precalculated hash inside |LocalExecute| message. Also distinguish different string types: sources, hashes, etc.
| Commit: | 8b71c81 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-19: Revert adding and using |hash| field. Also fix |RemoveEntry| test.
| Commit: | b625ac2 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-19: [WIP] Implement Absorber and Emitter.
| Commit: | afc5153 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-19: [WIP] Remove deprecated stuff. Also fix some bugs in Emitter.
| Commit: | 4bcb8d9 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Zip cached objects with Snappy.
| Commit: | 73a86fa | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Remove deps on unused staff like |Statistics| and |Histogram|.
| Commit: | 5538747 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Substitute --resource_dir with one, based or real Clang path. This should fix problems on Mac.
| Commit: | d1851da | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Allow to disable cache via config option.
| Commit: | 0fe9a69 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Move all cache params to a separate config message.
| Commit: | 71ceae4 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Fix problem with python bindings. Forgot to regenerate and add them to repository.
| Commit: | e3068fb | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-25: Implement the direct cache mode. No tests for now.
| Commit: | 863f9ae | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Instrument test binaries with AddressSanitizer.
| Commit: | 417a9a9 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-8: Try to implement something like direct mode.
| Commit: | ee2916c | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Move protobuf/src to protobuf/exported
| Commit: | cf0c0de | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Move config.proto to daemon/ Also some CC.
| Commit: | 06781aa | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-23: Refactor clang arguments parsing. Now using libclang C++ API.
| Commit: | 7768661 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
ISSUE-23: Some stable state with new arguments scheme. The client part is already refactored, but not tested yet.
| Commit: | 4ffed87 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Fix deps file handling by file cache.
| Commit: | 5000e17 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Major refactoring of the file cache.
| Commit: | d717953 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Add manifest description to file cache. Also, a little refactoring.
| Commit: | cba9a38 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Move |dependenies| to |non_cached| in proto-file. And add |deps_file| instead.
| Commit: | 34859a2 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Allow to do local compilation only on failed tasks. Also, double the default jobs number.
| Commit: | 5119cde | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Reduce number of original 'clang' invocations. The experiment shows that the '-###' and '-### -E' differs in a single param: '-mrelax-all'.
| Commit: | 879327c | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Issue-10: Implement the remote cache store. With unit-tests. Also, this commit may fix Issue-13.
| Commit: | 4158ecd | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Create object files with correct user id - on local side.
| Commit: | 4483022 | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Allow daemon to run as another user.
| Commit: | 8718d0c | |
|---|---|---|
| Author: | Ivan Lezhankin | |
| Committer: | Ivan Lezhankin | |
Pass maximum cache size via daemon config.
| Commit: | ac1ad55 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Major refactoring within third-party libraries.
| Commit: | 72cb70c | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Refactor client code - to be able to test it. Also, implement simple test for |ClangFlagSet|.
| Commit: | 3959dc3 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Implement simple logging.
| Commit: | 19fff85 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Add the cache size limit field to configuration.
| Commit: | c11d390 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Separate flags, that shouldn't affect cacheability.
| Commit: | a51100d | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Respect configuration about visible logging levels.
| Commit: | bfff4cf | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Implement some Statistic collection stubs. Also do a gyp-files CC.
| Commit: | 5f167bd | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Revert "Implement TCP Fast Open protocol usage." This reverts commit 35d0e9b44a40a48df28c9e1d311234233c8f88ed. Silly me, TCP Fast Open doesn't work with multiple connections.
| Commit: | aa1ab7e | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Make |EpollEventLoop| behave like |KqueueEventLoop|. Also bring back connection tests.
| Commit: | eaabcc6 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Now local execution thread pool handles can all tasks. But the model is still not perfect.
| Commit: | db595c0 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Implement TCP Fast Open protocol usage.
| Commit: | 8e8862b | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Add 'disabled' option to remotes in configuration. It allows to disable remotes temporarily.
| Commit: | 7596cab | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Refactor |Connection| sending functions.
| Commit: | 036300b | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Add protobuf library to third-party.
| Commit: | 7234bef | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Fix potencial leak in case |DeferCompilation()| fails to push task.
| Commit: | 567028f | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Add separate field for language flag "-x". Not used yet.
| Commit: | 5e2907b | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Make field |Compiler.version| obligatory.
| Commit: | 3264e0a | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Add more unit-tests. Fix problems found by those tests.
| Commit: | 4bdb7ed | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Improve handling of clang flags.
| Commit: | 4fb7f8b | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Properly handle clang plugins.
| Commit: | 6fba18e | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Move execution logics to commands.
| Commit: | a916faa | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Implement the caching of compilation results.
| Commit: | 78ea8e8 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
One more refactoring. Also, fix some problems within the class |Process|.
| Commit: | 1e2407c | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Refactor protocol one more time. Also move connection tests to using a test message.
| Commit: | cbdadce | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Present messages as extensions to top-level message. It allows to make |Connection::Send*()| interface polymorphic - to compose and send custom messages.
| Commit: | 6389a81 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Local compilation starts to work.
| Commit: | c83543c | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
A lot of changes. Among them are: - removal of 'futex' part; - removal of lock-free queue; - reimplementation of thread pool - a simpler variant; - sockets are created non-block and close-on-exec; - some protocol adjustments.
| Commit: | dcb08c8 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Major refactoring of existing code. Add some unit-tests for the class |Connection|.
| Commit: | b7a1d0d | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Daemon listens and accepts local messages. But does nothing special with them - only prints.
| Commit: | 4bafce5 | |
|---|---|---|
| Author: | ilezhankin | |
| Committer: | Ivan Lezhankin | |
Initial implementation on C++. Lock-free thread-pool added. Gyp-based build system added. Python implementation removed.