-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7845/
-----------------------------------------------------------

(Updated Nov. 8, 2012, 12:04 a.m.)


Review request for mesos, Benjamin Hindman and Vinod Kone.


Changes
-------

Alright, so we were unable to resolve why the Duration initializers were not 
being executed properly. (gcc 4.1.2)
Interestingly, running with a newer gcc 4.2.1, this issue goes away.. 
indicating this is likely an actual compiler bug!

Added a TODO noting why we split the constants to have external linkage.


Description
-------

We were allowing default constructors in the master / slave data structs, which 
led to MESOS-303 when I added code that triggered copies.

So this change does the following to the structs:
  -Explicitly disallow copying / assignment.
  -Use circular_buffers of shared_ptrs to hold completed data.
  -This allows us to remove the explicit deletes of the structs, and transition 
the pointer ownership into the completed______ buffers instead.

Please take a close look, as some of the ownership semantics are tricky. (esp. 
in the manipulation of Tasks in master).


This addresses bug MESOS-303.
    https://issues.apache.org/jira/browse/MESOS-303


Diffs (updated)
-----

  src/Makefile.am 062c45c060c67e983d0c27770eb3f1eefd582c8f 
  src/common/units.hpp bfedf55b5bd64d7222db52ad819a9cf51bfc4776 
  src/master/constants.hpp 9b3e82c1e676d4a4d8efee635d672ff5bbf4bde0 
  src/master/constants.cpp PRE-CREATION 
  src/master/http.cpp 636fed772a93fdc4683216e8646189a5a436daa7 
  src/master/master.hpp 1d8d0e4b0080d5efb25f8140e4a9bafdff513469 
  src/master/master.cpp 8b6c71575d57816588a52dfc0fa74e51df1bea4d 
  src/slave/constants.hpp 464bf3f5752a3180031d3e88350fc92385eb7ee6 
  src/slave/constants.cpp PRE-CREATION 
  src/slave/http.cpp 2411e206839ec5d9a683e58e61b63b3b3ec6dc91 
  src/slave/slave.hpp be0d7cc239e51636bb07e12c3046e0751a958787 
  src/slave/slave.cpp 2bd2dbce538a6108dd9fe607829cfbdab33e0778 
  src/tests/master_tests.cpp d9cd09c5650234351f570f0a035f4b61cd2d00f5 

Diff: https://reviews.apache.org/r/7845/diff/


Testing
-------

sudo make check

I ran a local run, with a long-lived-framework that I Ctrl+C'ed several times. 
This should have caused completed tasks / executors / frameworks.


Thanks,

Ben Mahler

Reply via email to