* Basic functionality for LRU eviction.
* Test eviction.
* Factor out eviction policy.
* Move delete_object into eviction policy.
* Replace array of released objects with an LRU cache (hash table + doubly linked list).
* Finish rebase on master.
* Move actual object deletion away from eviction policy and into plasma store.
* Small fixes.
* Fixes.
* Make remove_object_from_lru_cache always remove the object.
* Minor formatting and comments.
* Pass in allowed memory as argument to Plasma store.
* Small fix.
* Merge sealed_objects and open_objects into a single hashmap
* Entry contains enum that determines whether it is open or closed
* Removed unused variable.
* Applied Robert's patch
* Fixed styling.
* 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.
* Receive notifications about sealed objects from Plasma, and schedule tasks only when the dependencies are available locally.
* Fix formatting.
* Use version of Plasma with fix.
* Fix.
* Factor out the scheduling algorithm and use worker_index instead of the client socket to identify workers
* Fixes
* clang-format
* fix remaining linter errors
* 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
* Add ability to pass callback context to object table lookup
* Propagate errors during socket writes up to caller.
* Use recv and MSG_WAITALL flag instead of looping read
* Error checking in write_bytes
* Method to listen on a network port
* Revert "Use recv and MSG_WAITALL flag instead of looping read"
This reverts commit 32d9333bc6a185729aadb4b41b70b3d7f150a9c2.
* Some documentation
* Clearer documentation
* Fix bug where database clients were getting assigned the same ID
* Regression test for unique client IDs
* 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.
* Properly reset reusable variables on the driver when remote functions are run locally on the driver.
* Cache functions to run on all workers that occur before ray.init is called.
* Update documentation for serialization.
* Update documentation for reusable variables.
* Update documentation for using Ray with TensorFlow. This change is to allow code blocks to be copied and pasted into a Python interpreter.
* Fix documentation for hyperparameter optimization example.