* Small cleanups in worker.py.
* Remove dependencies on subprocess32, graphviz, protobuf, and ipython.
* Retry starting the plasma manager if the port is in use.
* Whitespace
* Move start_plasma_manager into plasma.py.
* Update worker code and services code to use plasma and the local scheduler.
* Cleanups.
* Fix bug in which threads were started before the worker mode was set. This caused remote functions to be defined on workers before the worker knew it was in WORKER_MODE.
* Fix bug in install-dependencies.sh.
* Lengthen timeout in failure_test.py.
* Cleanups.
* Cleanup services.start_ray_local.
* Clean up random name generation.
* Cleanups.
* Fix socket bind collisions in manager_tests
* bind manager sockets before connecting to the store
* fix memory leak in tests
* fix valgrind early process termination
* fix bind/listen/subscribe race condition
* fix photon
* fix other tests
* make it that all of common is tested
* fix clang-format
* fix
* Build Ray with setup.py.
* Building photon extensions with cmake.
* Fix formatting in photon_extension.c
* Pip install with sudo in Travis.
* Fix plasma __init__.py.
* Rename and remove some files.
* Ion and Philipp's table retries
* Refactor the retry struct:
- Rename it from retry_struct to retry_info
- Retry information contains the failure callback, not the retry callback
- All functions take in retry information as an arg instead of its expanded fields
* Rename cb -> callback
* Remove prints
* Fix compiler warnings
* Change some CHECKs to greatest ASSERTs
* Key outstanding callbacks hash table with timer ID instead of callback data pointer
* Use the new retry API for table commands
* Memory cleanup in plasma unit tests
* fix Robert's comments
* add valgrind for common
* Remove hiredis submodule.
* Squashed 'src/common/thirdparty/hiredis/' content from commit acd1966
git-subtree-dir: src/common/thirdparty/hiredis
git-subtree-split: acd1966bf7f5e1be74b426272635c672def78779
* Make Plasma tests pass.
* Make Photon tests pass.
* Compile and test with Travis.
* Deactive fetch test so that the tests pass.
* Implement plasma_release, enabling clients to indicate when they are no longer using an object.
* Call plasma_release for each plasma_create call, and call plasma_release from the manager.
* Fixes.
* Create client specific contexts for plasma_store callbacks.
* More changes.
* Fixes.
* Cleanup lists of clients using objects when a client disconnects.
* Make names parallel.
* Fetch objects from remote plasma instances. Includes:
- Configurable number of retries, with a timeout per retry
- Support for multiple-object fetch
- Test cases (integration only)
Update ray common
Remove attempts to retry object table lookup during fetch
lint
Fix a couple valgrind errors
Fix valgrind errors
Address Robert and Philipp's comments.
* Add fix from ray common and some TODOs.
* Update ray common
* Update ray common again
* Remove unused file
* Create libplasma_client.a in Makefile.
* Implement plasma subscribe.
* Fixes and tests.
* Buffer notifications in the Plasma store when the socket send buffer is full.
* Fix formatting.
* Turn off -Werror in Makefile.
* Fixes.
* Fix formatting.
* Increase allocation granularity dynamically with each MMAP call
* Fewer MMAP calls required when workload contains several objects.
* Delay hitting the per-process file descriptor constraint.
* Change type of GRANULARITY_MULTIPLIER
* Make granularity update more concise.
* Increase dlmalloc threshold along with granularity
* Eventually resolve issue of objects being allocated their own file if larger than dlmalloc threshold
* Avoid dlmalloc threshold and granularity integer overflow
* Update granularity directly without invoking dlmallopt
* Set the threshold to a fixed size (MAX_SIZE_T)
* Removed trailing whitespace
* Add Ray common as a submodule
* Convert to Ray common event loop
* Hide plasma manager state
* Interface changes
* Minor fixes: change LOG_INFO calls to LOG_DEBUG, comments, lint
* Turn off DEBUG by default and make Travis happy
* Allow processes time to clean up during Python tests
* Debugging travis...
* Plasma managers have long-lived connections per manager, not per object
* fix valgrind invalid read and cleanup
* make valgrind happy
* update store API
* put in place manager API
* fixed race condition while sending commands to plasma manager and store -- path sent by Phillip
* clang-format
* Revert "fixed race condition while sending commands to plasma manager and store -- path sent by Phillip"
This reverts commit 79e0f6e6d84f2a309b53155955b65c26c75af071.
* Use reliable socket read/writes from Ray common
* Merge data_connection and plasma_manager_connection structs
* small updates
* restore tests
* Increase allocation granularity dynamically with each MMAP call
* Fewer MMAP calls required when workload contains several objects.
* Delay hitting the per-process file descriptor constraint.
* Change type of GRANULARITY_MULTIPLIER
* Make granularity update more concise.
* Run clang-format and add pre-commit hook for it.
* Modify .travis.yml to check
* Try to fix problems with .travis.yml
* Try to fix .travis.yml yet again
* Update .clang-format to Philipp's preferences
* Don't allow lint to fail in Travis
* Remove git-hooks directory
* Improve clang-format failure output
* Fix clang-format error
* Report which commit clang-format is comparing against, and add whitespace error
* Handle non-PR Travis in clang-format, and add another error
* Check $TRAVIS_PULL_REQUEST correctly and add another error
* Fix syntax error in check-git-clang-format-output.sh
* Add whitespace error
* Remove extra whitespace, add clang-format to README
* refactor plasma to use an event loop
* unify comment style
* Clean up Makefile flags.
* Randomize socket names in tests so multiple copies of the tests can be run in parallel without conflict.