Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.1.0
-
Mesosphere Sprint 48
Description
The problem arises when one tries to associate an after() call to copied futures. The following test case is enough to reproduce the issue:
TEST(FutureTest, After3) { auto policy = std::make_shared<int>(0); { auto generator = []() { return Future<Nothing>(); }; Future<Nothing> future = generator() .after(Milliseconds(1), [policy](const Future<Nothing>&) { return Nothing(); }); AWAIT_READY(future); } EXPECT_EQ(1, policy.use_count()); }
In the test, one would expect that there is only one active reference to policy, therefore the expectation EXPECT_EQ(1, policy.use_count()). However, if after is triggered more than once, each extra call adds one undeleted reference to policy.
Attachments
Issue Links
- relates to
-
MESOS-7043 FutureTest.After3 is flaky
- Resolved