sarutak commented on a change in pull request #30336:
URL: https://github.com/apache/spark/pull/30336#discussion_r526606880



##########
File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/state/StateStore.scala
##########
@@ -178,11 +178,15 @@ object StateStoreMetrics {
 trait StateStoreCustomMetric {
   def name: String
   def desc: String
+  def unit: String
 }
 
-case class StateStoreCustomSumMetric(name: String, desc: String) extends 
StateStoreCustomMetric
-case class StateStoreCustomSizeMetric(name: String, desc: String) extends 
StateStoreCustomMetric
-case class StateStoreCustomTimingMetric(name: String, desc: String) extends 
StateStoreCustomMetric
+case class StateStoreCustomSumMetric(name: String, desc: String, unit: String)

Review comment:
       > Btw, I have a deeper question. Why the state store (+provider) 
interfaces are in sql/execution which is considered as "private"? We know 
there're several 3rd party implementations, and placing these APIs in 
sql/execution package means that we don't guarantee the compatibility as public 
API. e.g. MiMa didn't complain this.
   
   I wondered why MiMa didn't find the compatibility issue too. As @HeartSaVioR 
says `sql/execution` seems to be considered as "private", but I guess it may 
not be considered that the package is private at that time those interfaces 
were introduced to the package.
   Anyway, it seems that we need to discuss the guarantee of the compatibility 
in another place.




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

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to