jerrypeng commented on code in PR #57945:
URL: https://github.com/apache/spark/pull/57945#discussion_r3787437168


##########
sql/core/src/test/scala/org/apache/spark/sql/streaming/StreamingDeduplicationSuite.scala:
##########
@@ -684,6 +684,111 @@ class StreamingDeduplicationSuite extends 
StateStoreMetricsTest
       sqlConf = spark.sessionState.conf
     )
   }
+
+  // Total incremental removals reported across all batches, read from the 
operator's

Review Comment:
   fixed



##########
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/operators/stateful/statefulOperators.scala:
##########
@@ -1571,18 +1687,29 @@ case class StreamingDeduplicateWithinWatermarkExec(
     store.put(key, timeoutRow)
   }
 
-  protected def evictDupInfoFromState(store: StateStore): Unit = {
+  override protected def iteratorForEviction(store: StateStore): Iterator[Any] 
= {
     val numRemovedStateRows = longMetric("numRemovedStateRows")
+    val numRowsReadDuringEviction = longMetric("numRowsReadDuringEviction")
 
-    // Convert watermark value to micros.
+    // Incremental cleanup is not enabled for this operator (this class does 
not override the base
+    // incrementalCleanupFactor, which defaults to 0 -- see the class-level 
comment for why), so
+    // eviction always runs once at batch end against the eviction watermark.
     val watermarkForEviction = 
DateTimeUtils.millisToMicros(eventTimeWatermarkForEviction.get)
-    store.iterator().foreach { rowPair =>
-      val valueRow = rowPair.value
 
-      val expiresAt = valueRow.getLong(0)
+    // We cannot reuse [[EvictionIterator]] here because it reads the eviction 
timestamp from the

Review Comment:
   fixed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to