HeartSaVioR commented on code in PR #47188:
URL: https://github.com/apache/spark/pull/47188#discussion_r1669604069


##########
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/state/StateStore.scala:
##########
@@ -469,6 +469,15 @@ trait SupportsFineGrainedReplay {
   def replayReadStateFromSnapshot(snapshotVersion: Long, endVersion: Long): 
ReadStateStore = {
     new WrappedReadStateStore(replayStateFromSnapshot(snapshotVersion, 
endVersion))
   }
+
+  /**
+   *
+   * @param startVersion
+   * @param endVersion
+   * @return
+   */
+  def getStateStoreChangeDataReader(startVersion: Long, endVersion: Long):

Review Comment:
   But StateStoreChangeDataReader is only helpful when they have very similar 
implementation with the built-in one, right? If they have totally different 
approach of maintaining changelog, they are going to reimplement everything and 
it is not clear what needs to be implemented.
   
   An interface is to declare the spec. Whenever we design pluggable 
functionality, please be sure to define the spec and describe the spec as 
interface. Don't make others struggle with understanding spec from actual 
implementation.



-- 
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