mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrei Budnik <abud...@mesosphere.com>
Subject Re: Review Request 60008: Fixed bug causing FUTURE_DISPATCH to react on irrelevant dispatch. (WIP)
Date Thu, 15 Jun 2017 17:31:44 GMT

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

(Updated June 15, 2017, 5:31 p.m.)


Review request for mesos, Alexander Rukletsov and Michael Park.


Summary (updated)
-----------------

Fixed bug causing FUTURE_DISPATCH to react on irrelevant dispatch. (WIP)


Bugs: MESOS-5886
    https://issues.apache.org/jira/browse/MESOS-5886


Repository: mesos


Description
-------

FUTURE_DISPATCH uses DispatchMatcher to figure out whether a processed
DispatchEvent is the same the user is waiting for. Currently, we
compare std::type_info of function pointers, which is not enough:
different class methods with same signatures will be matched (see
MESOS-5886 for an example).
This patch adds value of pointer-to-member function in addition to
std::type_info in DispatchEvent to uniquely identify class methods.


Diffs
-----

  3rdparty/libprocess/include/process/dispatch.hpp 3a0793888dc0df5e3ec31b06f47cd920c71e0db9

  3rdparty/libprocess/include/process/event.hpp 8afe6266eb0dc5a17af35d79efb6bfdf9e6a0ee9 
  3rdparty/libprocess/include/process/gmock.hpp e9af943b39436f365fe687301febb5c7fbefffc4 
  3rdparty/libprocess/src/process.cpp 4ff7448d171f39dbb8cbb81dd9bed136ad43d62d 
  3rdparty/libprocess/src/tests/process_tests.cpp 38d787a083a5eb31e922d283f4b4bed2bd62eb0a



Diff: https://reviews.apache.org/r/60008/diff/1/


Testing (updated)
-------

1. make check (mac os x 10.12, fedora 25)
2. internal CI

NOTE: Test GroupTest.ConnectTimer is broken, because it uses FUTURE_DISPATCH on a wrong method
(GroupProcess::expired),
which has the same signature as a private method (GroupProcess::timedout). The later method
is actually called,
thus causing the error after applying this patch.


Thanks,

Andrei Budnik


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message