* Use Arrow Tensors for serializing numpy arrays and get rid of extra memcpy
* fix nondeterminism problem
* mark array as immutable
* make arrays contiguous
* fix serialize_list and deseralize_list
* fix numbuf tests
* linting
* add optimization flags
* fixes
* roll back arrow
* plasma manager perf: speedup wait with a wait request object map
* removing duplicate == operator in plasma store
* fix serialization test
* code cleanup
* minor cleanup
* factoring out uniqueid hash and equality operators into common
* plasma manager: c++ify the WaitRequest struct
* plasma manager: get rid of the initial object request malloc
* cleanup
* linting
* cleanups and fix compiler warnings
* compiler warnings and linting
* Ignore deleted clients when reading address info from Redis
* Remove self from db_client table when exiting cleanly
* Fix valgrind test
* Do not call plasma_perform_release when disconnecting
* Change plasma_store.c to C++ (clobbering existing FlatBuffers usage).
* Convert plasma_store.cc to use STL (with a caveat)
* Fix CMakeLists and mutation-while-iterating problem
* Remove extra extern "C" declarations
* Remove redundant -std=c++11 from plasma/CMakeLists.txt
* parallelizing memcopy and object hash construction in numbuf/plasma
* clang format
* whitespace
* refactoring compute object hash: get rid of the prefix chunk
* clang format
* Document performance optimization.
* Remove check for 64-byte alignment, since it may not be guaranteed.
* Fix worker blocked bug
* tmp
* Push an error to the driver on ray.put for non-driver tasks
* Fix result table tests
* Fix test, logging
* Address comments
* Fix suppression bug
* Fix redis module test
* Edit error message
* Get values in chunks during reconstruction
* Test case for driver ray.put errors
* Error for evicting ray.put objects from the driver
* Fix tests
* Reduce verbosity
* Documentation
* Failing test case
* Local scheduler exits cleanly after plasma store dies
* Tolerate one plasma store failure
* Tolerate plasma store failures on all nodes except head node
* Plasma manager heartbeats
* Component failure tests
* Don't run the helper for Python testing
* Fix C test
* Fix hanging plasma transfer test
* Fix python3
* Consolidate ClientConnection code
* Fix valgrind test
* fix c test
* We can restart worker nodes!
* Fix flatbuffers bug
* Address comments
* Only register actual workers with the local scheduler
* Fix bug
* Fix segfaults
* Add test case that tests for driver liveness, fix local scheduler bug
* Clean up after tests
* Allocate retry info on the stack
* Send SIGKILL before waiting
* Relax unit test conditions
* Driver liveness test case and documentation
* use flatbuffer messages for local scheduler
* make sure constructor gets called for C++ object ObjectInfoT
* fix typo
* fix Robert's comments
* Small change to actor test.
* fix valgrind error
* linting
* free notification
* fix
* valgrind
* fix valgrind
* fix other bugs
* valgrind fix
* fixes
* more fixes
* Small changes to comments.
* WARN instead of FATAL for object hash mismatches, push error to driver
* Document the callback signature for object_table_add/remove
* Error table
* Wait for all errors in python test
* Fix doc
* Fix state test
* Change tranfer queue to doubly-linked list to speed up append.
* Maintain set of pending transfers to make deduplication easy.
* Fix naming convention for structs in plasma manager.
* Clean up plasma subscribers on EPIPE
First pass at a monitoring script - monitor can detect local scheduler death
Clean up task table upon local scheduler death in monitoring script
Don't schedule to dead local schedulers in global scheduler
Have global scheduler update the db clients table, monitor script cleans up state
Documentation
Monitor script should scan tables before beginning to read from subscription channel
Fix for python3
Redirect monitor output to redis logs, fix hanging in multinode tests
* Publish auxiliary addresses as part of db_client deletion notifications
* Fix test case?
* Small changes.
* Use SCAN instead of KEYS
* Address comments
* Address more comments
* Free redis module strings
* adding flatbuffers and migrating flatcc to flatbuffers for plasma
* variable name changes in plasma_protocol and plasma flatbuffers schema
* quick fix
* cleanups and remove flatcc
* more cleanup
* add doc
* linting
* fix linting
* fix mac os x build
* linting
* cleanup
* c++ fix for plasma flatbuffers
* Remove flatcc from CMakeLists.txt.
* linting; trigger travis
* attribute-based heterogeneity-awareness in global scheduler and photon
* minor post-rebase fix
* photon: enforce dynamic capacity constraint on task dispatch
* globalsched: cap the number of times we try to schedule a task in round robin
* propagating ability to specify resource capacity to ray.init
* adding resources to remote function export and fetch/register
* globalsched: remove unused functions; update cached photon resource capacity (until next photon heartbeat)
* Add some integration tests.
* globalsched: cleanup + factor out constraint checking
* lots of style
* task_spec_required_resource: global refactor
* clang format
* clang format + comment update in photon
* clang format photon comment
* valgrind
* reduce verbosity for Travis
* Add test for scheduler load balancing.
* addressing comments
* refactoring global scheduler algorithm
* Minor cleanups.
* Linting.
* Fix array_test.py and linting.
* valgrind fix for photon tests
* Attempt to fix stress tests.
* fix hashmap free
* fix hashmap free comment
* memset photon resource vectors to 0 in case they get used before the first heartbeat
* More whitespace changes.
* Undo whitespace error I introduced.
* First pass at reconstruction in the worker
Modify reconstruction stress testing to start Plasma service before rest of Ray cluster
TODO about reconstructing ray.puts
Fix ray.put error for double creates
Distinguish between empty entry and no entry in object table
Fix test case
Fix Python test
Fix tests
* Only call reconstruct on objects we have not yet received
* Address review comments
* Fix reconstruction for Python3
* remove unused code
* Address Robert's comments, stress tests are crashing
* Test and update the task's scheduling state to suppress duplicate
reconstruction requests.
* Split result table into two lookups, one for task ID and the other as a
test-and-set for the task state
* Fix object table tests
* Fix redis module result_table_lookup test case
* Multinode reconstruction tests
* Fix python3 test case
* rename
* Use new start_redis
* Remove unused code
* lint
* indent
* Address Robert's comments
* Use start_redis from ray.services in state table tests
* Remove unnecessary memset
* Use object_info as notification, not just the object_id
* Add a regression test for plasma managers connecting to store after some objects have been created
* Send notifications for existing objects to new plasma subscribers
* Continuously try the request to the plasma manager instead of setting a timeout in the test case
* Use ray.services to start Redis in plasma test cases
* fix test case
* Change plasma_get to take a timeout and an array of object IDs.
* Address comments.
* Bug fix related to computing object hashes.
* Add test.
* Fix file descriptor leak.
* Fix valgrind.
* Formatting.
* Remove call to plasma_contains from the plasma client. Use timeout internally in ray.get.
* small fixes
* Prevent plasma store and manager from dying when a worker dies.
* Check errno inside of warn_if_sigpipe. Passing in errno doesn't work because the arguments to warn_if_sigpipe can be evaluated out of order.
* check available shared memory when starting object store
* exit with error if not enough shared memory available for object store
* Some comments and formatting.
* Object notification test for Photon, and turn on valgrind for Photon C tests
* Test object notification handler in the plasma manager
* Fix hanging test case
* Send message from plasma client to get plasma store capacity.
* Release objects from plasma client if they are too large.
* Use doubly-linked list instead of ring buffer for plasma client release history.
* Address comments.
* Fix problem with slicing PlasmaBuffer objects.
* Fix crash in plasma manager during transfer.
* Formatting.
* Make plasma client cache larger and make caching test not throw exceptions on Travis.