Github user tdas commented on a diff in the pull request:

    https://github.com/apache/spark/pull/126#discussion_r11375673
  
    --- Diff: 
core/src/main/scala/org/apache/spark/util/TimeStampedHashMap.scala ---
    @@ -87,53 +86,67 @@ class TimeStampedHashMap[A, B](updateTimeStampOnGet: 
Boolean = false)
       }
     
       override def apply(key: A): B = {
    -    val value = internalMap.get(key)
    -    if (value == null) throw new NoSuchElementException()
    -    value._1
    +    get(key).getOrElse { throw new NoSuchElementException() }
       }
     
    -  override def filter(p: ((A, B)) => Boolean): Map[A, B] = {
    -    JavaConversions.mapAsScalaConcurrentMap(internalMap).map(kv => (kv._1, 
kv._2._1)).filter(p)
    +  override def filter(p: ((A, B)) => Boolean): mutable.Map[A, B] = {
    +    JavaConversions.mapAsScalaConcurrentMap(internalMap)
    +      .map { case (k, TimeStampedValue(v, t)) => (k, v) }
    +      .filter(p)
       }
     
    -  override def empty: Map[A, B] = new TimeStampedHashMap[A, B]()
    +  override def empty: mutable.Map[A, B] = new TimeStampedHashMap[A, B]()
     
       override def size: Int = internalMap.size
     
       override def foreach[U](f: ((A, B)) => U) {
    -    val iterator = internalMap.entrySet().iterator()
    -    while(iterator.hasNext) {
    -      val entry = iterator.next()
    -      val kv = (entry.getKey, entry.getValue._1)
    +    val it = getEntrySet.iterator
    +    while(it.hasNext) {
    +      val entry = it.next()
    +      val kv = (entry.getKey, entry.getValue.value)
           f(kv)
         }
       }
     
    -  def toMap: immutable.Map[A, B] = iterator.toMap
    +  // Should we return previous value directly or as Option?
    --- End diff --
    
    Removed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to