xintongsong commented on a change in pull request #11363:
URL: https://github.com/apache/flink/pull/11363#discussion_r412697593



##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/StandaloneResourceManagerFactory.java
##########
@@ -28,31 +28,35 @@
 import org.apache.flink.runtime.metrics.groups.ResourceManagerMetricGroup;
 import org.apache.flink.runtime.rpc.FatalErrorHandler;
 import org.apache.flink.runtime.rpc.RpcService;
+import org.apache.flink.util.ConfigurationException;
 
 import javax.annotation.Nullable;
 
 /**
  * {@link ResourceManagerFactory} which creates a {@link 
StandaloneResourceManager}.
  */
-public enum StandaloneResourceManagerFactory implements 
ResourceManagerFactory<ResourceID> {

Review comment:
       I'm aware that enums are preferred for implementing singletons. But in 
this case I believe we have good reasons to change it into a class.
   
   The reason is that, we have changed `ResourceManagerFactory` from an 
interface into an abstract class. A enum cannot extends an abstract class. And 
the reason for making `ResourceManagerFactory` an abstract class it that, the 
`ResourceManagerFactory` implementations have not only public APIs in common, 
but also part of the internal implementations (i.e., the concrete 
implementations in `ResourceManagerFactory`). 
   
   IIUC, it is for the same reason that you have changed 
`YarnResourceManagerFactory` from enum into class in FLINK-13579? All the other 
resource manager factories are already classes except for the standalone ones.




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


Reply via email to