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