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

(Updated May 28, 2015, 12:48 p.m.)


Review request for mesos, Ian Downes, Jie Yu, and Vinod Kone.


Changes
-------

Addressed Ian's comments


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


Repository: mesos


Description
-------

Added test to verify fix for MESOS-2771


Diffs (updated)
-----

  src/tests/mesos.hpp b8f7a2f9236166e42421d926718af8d45e857eba 
  src/tests/monitor_tests.cpp ca3b7f4a85824697a4e6701285f69ba337506147 

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


Testing
-------

Test verifies fix for MESOS-2771, where references to executor infos and 
container ids could get invalidated if monitoring of a container stopped during 
a statistics collection.

Tested with make check before and after fix.

Before:

I0527 15:51:57.943672 388640768 process.cpp:2201] Cleaning up 
__http__(1)@10.0.68.255:50624
I0527 15:51:57.943717 387567616 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50624 at 2015-05-27 22:51:57.943728896+00:00
PC: @        0x11122bb3d std::__1::operator<< <>()
*** SIGSEGV (@0x0) received by PID 42293 (TID 0x7fff7cdb2300) stack trace: ***
    @     0x7fff8eaebf1a _sigtramp
    @     0x7fd785800ee8 (unknown)
    @        0x1112e97d0 mesos::operator<<()
    @        0x111b41731 
mesos::internal::slave::ResourceMonitorProcess::usage()::$_0::operator()()
    @        0x111b415ed 
_ZZNK7process6FutureIN5mesos8internal5slave15ResourceMonitor5UsageEE8onFailedIZNS3_22ResourceMonitorProcess5usageENS1_11ContainerIDEE3$_0vEERKS6_OT_NS6_6PreferEENUlRKNSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEE_clESO_
    @        0x111b4152c 
_ZNSt3__110__function6__funcIZNK7process6FutureIN5mesos8internal5slave15ResourceMonitor5UsageEE8onFailedIZNS6_22ResourceMonitorProcess5usageENS4_11ContainerIDEE3$_0vEERKS9_OT_NS9_6PreferEEUlRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEE_NSM_ISR_EEFvSQ_EEclESQ_
    @        0x112106544 std::__1::function<>::operator()()
    @        0x1112067ab 
_ZN7process8internal3runINSt3__18functionIFvRKNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEEEJRS9_EEEvRKNS2_6vectorIT_NS7_ISG_EEEEDpOT0_
    @        0x111b86400 process::Future<>::fail()
    @        0x111ba05bd process::Promise<>::fail()
    @        0x111b9722c process::internal::thenf<>()
    @        0x111b9f823 
_ZNSt3__110__function6__funcINS_6__bindIPFvRKNS_8functionIFN7process6FutureIN5mesos8internal5slave15ResourceMonitor5UsageEEERKNS6_18ResourceStatisticsEEEERKNS_10shared_ptrINS4_7PromiseISA_EEEERKNS5_ISC_EEEJSI_RSM_RNS_12placeholders4__phILi1EEEEEENS_9allocatorISZ_EEFvSR_EEclESR_
    @        0x1121db254 std::__1::function<>::operator()()
    @        0x111b9c90d 
_ZZNK7process6FutureIN5mesos18ResourceStatisticsEE5onAnyIRNSt3__18functionIFvRKS3_EEEvEES8_OT_NS3_6PreferEENUlS8_E_clES8_
    @        0x111b9c84c 
_ZNSt3__110__function6__funcIZNK7process6FutureIN5mesos18ResourceStatisticsEE5onAnyIRNS_8functionIFvRKS6_EEEvEESA_OT_NS6_6PreferEEUlSA_E_NS_9allocatorISH_EESB_EclESA_
    @        0x10e73b0d4 std::__1::function<>::operator()()
    @        0x10e73a50b 
_ZN7process8internal3runINSt3__18functionIFvRKNS_6FutureIN5mesos18ResourceStatisticsEEEEEEJRS7_EEEvRKNS2_6vectorIT_NS2_9allocatorISE_EEEEDpOT0_
    @        0x10efd83c1 process::Future<>::fail()
    @        0x10efdd49d 
_ZZNK7process6FutureIN5mesos18ResourceStatisticsEE8onFailedINSt3__16__bindIMS3_FbRKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEJRS3_RNS5_12placeholders4__phILi1EEEEEEbEERKS3_OT_NS3_6PreferEENUlSE_E_clESE_
    @        0x10efdd1fc 
_ZNSt3__110__function6__funcIZNK7process6FutureIN5mesos18ResourceStatisticsEE8onFailedINS_6__bindIMS6_FbRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEJRS6_RNS_12placeholders4__phILi1EEEEEEbEERKS6_OT_NS6_6PreferEEUlSG_E_NSC_ISU_EEFvSG_EEclESG_
    @        0x10e5b2304 std::__1::function<>::operator()()
    @        0x10efdb9f9 process::Future<>::onFailed()
    @        0x10efdb6c8 
_ZNK7process6FutureIN5mesos18ResourceStatisticsEE8onFailedINSt3__16__bindIMS3_FbRKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEJRS3_RNS5_12placeholders4__phILi1EEEEEEbEERKS3_OT_NS3_6PreferE
    @        0x10efd9145 
_ZNK7process6FutureIN5mesos18ResourceStatisticsEE8onFailedINSt3__16__bindIMS3_FbRKNS5_12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEJRS3_RNS5_12placeholders4__phILi1EEEEEEEERKS3_OT_
    @        0x10efd8b43 process::Promise<>::associate()
    @        0x10efd81bd process::Promise<>::set()
    @        0x10efd684e 
mesos::internal::tests::MonitorTest_UsageFailure_Test::TestBody()
    @        0x10f4155b3 
testing::internal::HandleSehExceptionsInMethodIfSupported<>()
    @        0x10f3fd667 
testing::internal::HandleExceptionsInMethodIfSupported<>()
    @        0x10f3d7135 testing::Test::Run()
    @        0x10f3d80eb testing::TestInfo::Run()
    @        0x10f3d8cd7 testing::TestCase::Run()
^C^C
[1]    42293 segmentation fault  GLOG_v=2 ./bin/mesos-tests.sh 
--gtest_filter="MonitorTest.UsageFailure"

After:

[ RUN      ] MonitorTest.UsageFailure
I0527 15:55:41.984792 2094736128 process.cpp:2084] Spawned process 
__limiter__(2)@10.0.68.255:50644
I0527 15:55:41.984801 242876416 process.cpp:2094] Resuming 
__limiter__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.984818944+00:00
I0527 15:55:41.984833 243949568 process.cpp:2094] Resuming 
monitor@10.0.68.255:50644 at 2015-05-27 22:55:41.984848128+00:00
I0527 15:55:41.984894 2094736128 process.cpp:2084] Spawned process 
monitor@10.0.68.255:50644
I0527 15:55:41.984953 242876416 process.cpp:2094] Resuming 
help@10.0.68.255:50644 at 2015-05-27 22:55:41.984967936+00:00
I0527 15:55:41.985086 245559296 process.cpp:2094] Resuming 
monitor@10.0.68.255:50644 at 2015-05-27 22:55:41.985101824+00:00
I0527 15:55:41.985436 242876416 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.985452800+00:00
I0527 15:55:41.985443 246632448 process.cpp:2094] Resuming 
__latch__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.985459200+00:00
I0527 15:55:41.985455 2094736128 process.cpp:2084] Spawned process 
__latch__(1)@10.0.68.255:50644
I0527 15:55:41.985589 2094736128 process.cpp:2084] Spawned process 
__waiter__(1)@10.0.68.255:50644
I0527 15:55:41.985604 246095872 process.cpp:2094] Resuming 
__waiter__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.985619968+00:00
I0527 15:55:41.986281 244486144 process.cpp:2094] Resuming 
monitor@10.0.68.255:50644 at 2015-05-27 22:55:41.986298112+00:00
I0527 15:55:41.986320 244486144 process.cpp:2704] Handling HTTP event for 
process 'monitor' with path: '/monitor/statistics.json'
I0527 15:55:41.986418 243412992 process.cpp:2094] Resuming 
__http__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.986438912+00:00
I0527 15:55:41.986419 245559296 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.986437120+00:00
I0527 15:55:41.986429 244486144 process.cpp:2084] Spawned process 
__http__(1)@10.0.68.255:50644
I0527 15:55:41.986556 245559296 process.cpp:2094] Resuming 
__http__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.986571008+00:00
I0527 15:55:41.986595 246095872 process.cpp:2094] Resuming 
__limiter__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.986610944+00:00
I0527 15:55:41.986896 243412992 process.cpp:2094] Resuming 
__latch__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.986912000+00:00
I0527 15:55:41.986939 243412992 process.cpp:2201] Cleaning up 
__latch__(1)@10.0.68.255:50644
I0527 15:55:41.987043 242876416 process.cpp:2094] Resuming 
__waiter__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.987060992+00:00
I0527 15:55:41.987062 245022720 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.987087104+00:00
I0527 15:55:41.987117 242876416 process.cpp:2201] Cleaning up 
__waiter__(1)@10.0.68.255:50644
I0527 15:55:41.987154 246632448 process.cpp:2094] Resuming 
(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.987164928+00:00
I0527 15:55:41.987150 243412992 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.987164928+00:00
I0527 15:55:41.987179 244486144 process.cpp:2084] Spawned process 
(1)@10.0.68.255:50644
W0527 15:55:41.987236 2094736128 monitor.cpp:127] Failed to get resource usage 
for  container container for executor executor of framework framework: Injected 
failure
I0527 15:55:41.987267 246632448 process.cpp:2201] Cleaning up 
(1)@10.0.68.255:50644
I0527 15:55:41.987316 242876416 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.987325952+00:00
I0527 15:55:41.987344 243949568 process.cpp:2094] Resuming 
__latch__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.987360000+00:00
I0527 15:55:41.987383 2094736128 process.cpp:2084] Spawned process 
__latch__(2)@10.0.68.255:50644
I0527 15:55:41.987475 2094736128 process.cpp:2084] Spawned process 
__waiter__(2)@10.0.68.255:50644
I0527 15:55:41.987481 246632448 process.cpp:2094] Resuming 
__waiter__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.987494912+00:00
I0527 15:55:41.987632 246095872 process.cpp:2094] Resuming 
__http__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.987646208+00:00
I0527 15:55:41.987908 242876416 process.cpp:2094] Resuming 
__http__(1)@10.0.68.255:50644 at 2015-05-27 22:55:41.987922944+00:00
I0527 15:55:41.987939 242876416 process.cpp:2201] Cleaning up 
__http__(1)@10.0.68.255:50644
I0527 15:55:41.988015 243412992 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.988030976+00:00
I0527 15:55:41.988276 242876416 process.cpp:2094] Resuming 
__latch__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.988286976+00:00
I0527 15:55:41.988303 242876416 process.cpp:2201] Cleaning up 
__latch__(2)@10.0.68.255:50644
I0527 15:55:41.988381 243949568 process.cpp:2094] Resuming 
__gc__@10.0.68.255:50644 at 2015-05-27 22:55:41.988404992+00:00
I0527 15:55:41.988381 245022720 process.cpp:2094] Resuming 
__waiter__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.988413184+00:00
I0527 15:55:41.988435 245022720 process.cpp:2201] Cleaning up 
__waiter__(2)@10.0.68.255:50644
I0527 15:55:41.988528 245559296 process.cpp:2094] Resuming 
monitor@10.0.68.255:50644 at 2015-05-27 22:55:41.988540928+00:00
I0527 15:55:41.988564 245559296 process.cpp:2201] Cleaning up 
monitor@10.0.68.255:50644
I0527 15:55:41.988675 245022720 process.cpp:2094] Resuming 
__limiter__(2)@10.0.68.255:50644 at 2015-05-27 22:55:41.988684032+00:00
I0527 15:55:41.988703 245022720 process.cpp:2201] Cleaning up 
__limiter__(2)@10.0.68.255:50644
[       OK ] MonitorTest.UsageFailure (4 ms)
[----------] 1 test from MonitorTest (4 ms total)


Thanks,

Niklas Nielsen

Reply via email to