From: Yanbo Xu <xuyanbo@fb.com>
Date: Sat, 16 Dec 2017 01:10:05 +0000 (-0800)
Subject: Revert D6579707: [folly/ConcurrentHashMap] Fix erase in Iterate
X-Git-Tag: v2017.12.18.00~6
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b5750c50fc8348d61cd43d4fda623f6e64ddadb0;p=folly.git

Revert D6579707: [folly/ConcurrentHashMap] Fix erase in Iterate

Summary:
This reverts commit a45f47a53e106d22daa9cf57be6c40c4f6a430d9

bypass-lint

Differential Revision: D6579707

fbshipit-source-id: 6f6c35de5e05f8cf37491471e1ae1272290fe61b
---

diff --git a/folly/concurrency/ConcurrentHashMap.h b/folly/concurrency/ConcurrentHashMap.h
index a2cf218a..b4d2fc3a 100644
--- a/folly/concurrency/ConcurrentHashMap.h
+++ b/folly/concurrency/ConcurrentHashMap.h
@@ -421,9 +421,7 @@ class ConcurrentHashMap {
     }
 
     ConstIterator(const ConcurrentHashMap* parent, uint64_t segment)
-        : it_(parent->ensureSegment(segment)->cbegin()),
-          segment_(segment),
-          parent_(parent) {}
+        : segment_(segment), parent_(parent) {}
 
    private:
     // cbegin iterator
diff --git a/folly/concurrency/test/ConcurrentHashMapTest.cpp b/folly/concurrency/test/ConcurrentHashMapTest.cpp
index c16985cd..b1b18e42 100644
--- a/folly/concurrency/test/ConcurrentHashMapTest.cpp
+++ b/folly/concurrency/test/ConcurrentHashMapTest.cpp
@@ -257,24 +257,6 @@ TEST(ConcurrentHashMap, EraseTest) {
   foomap.erase(f1);
 }
 
-TEST(ConcurrentHashMap, EraseInIterateTest) {
-  ConcurrentHashMap<uint64_t, uint64_t> foomap(3);
-  for (uint64_t k = 0; k < 10; ++k) {
-    foomap.insert(k, k);
-  }
-  for (auto it = foomap.cbegin(); it != foomap.cend();) {
-    if (it->second > 3) {
-      it = foomap.erase(it);
-    } else {
-      ++it;
-    }
-  }
-  EXPECT_EQ(4, foomap.size());
-  for (auto it = foomap.cbegin(); it != foomap.cend(); ++it) {
-    EXPECT_GE(3, it->second);
-  }
-}
-
 // TODO: hazptrs must support DeterministicSchedule
 
 #define Atom std::atomic // DeterministicAtomic