dongjoon-hyun commented on a change in pull request #31476:
URL: https://github.com/apache/spark/pull/31476#discussion_r574009954



##########
File path: 
sql/catalyst/src/main/java/org/apache/spark/sql/connector/read/Scan.java
##########
@@ -102,4 +102,13 @@ default MicroBatchStream toMicroBatchStream(String 
checkpointLocation) {
   default ContinuousStream toContinuousStream(String checkpointLocation) {
     throw new UnsupportedOperationException(description() + ": Continuous scan 
are not supported");
   }
+
+  /**
+   * Returns an array of supported custom metrics with name and description.
+   * By default it returns empty array.
+   */
+  default CustomMetric[] supportedCustomMetrics() {

Review comment:
       @cloud-fan Removing `trait` is a little different story. The point was 
we don't need to change `Scan` interface like this every time. For the use 
cases which only depends on `Scan` interface, we can guarantee that nothing is 
be broken.
   > I don't see how a mixin trait helps avoid breaking change. Removing the 
trait later is also a breaking change.
   
   However, I also don't want to block this PR like this for a long time. So, I 
switch to give +1 for @rdblue's suggestion.




----------------------------------------------------------------
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:
[email protected]



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

Reply via email to