Repository: apache/flink
File: flink-core/src/main/java/org/apache/flink/configuration/SecurityOptions.java (Java)

Code before:
    // ------------------------ ssl parameters --------------------------------

    /** SSL protocol version to be supported. */
    @Documentation.Section(Documentation.Sections.SECURITY_SSL)
    public static final ConfigOption<String> SSL_PROTOCOL =
            key("security.ssl.protocol")
                    .stringType()
                    .defaultValue("TLSv1.2")
                    .withDescription(
                            "The SSL protocol version to be supported for the ssl transport. Note that it doesn’t"
                                    + " support comma separated list.");

    /**
     * The standard SSL algorithms to be supported.
     *
     * <p>More options here -
     * http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
     */
    @Documentation.Section(Documentation.Sections.SECURITY_SSL)
    public static final ConfigOption<String> SSL_ALGORITHMS =
            key("security.ssl.algorithms")
                    .stringType()
                    .defaultValue("TLS_RSA_WITH_AES_128_CBC_SHA")
                    .withDescription(
                            Description.builder()
                                    .text(
                                            "The comma separated list of standard SSL algorithms to be supported. Read more %s",
                                            link(
                                                    "http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites",
                                                    "here"))
                                    .build());

    /** SSL engine provider. */
    @Documentation.Section(Documentation.Sections.EXPERT_SECURITY_SSL)
    public static final ConfigOption<String> SSL_PROVIDER =
            key("security.ssl.provider")
                    .stringType()
                    .defaultValue("JDK")
                    .withDescription(
                            Description.builder()
                                    .text("The SSL engine provider to use for the ssl transport:")
                                    .list(
                                            text("%s: default Java-based SSL engine", code("JDK")),
                                            text(
                                                    "%s: openSSL-based SSL engine using system libraries",
                                                    code("OPENSSL")))
                                    .text(
                                            "%s is based on %s and comes in two flavours:",
                                            code("OPENSSL"),
                                            link(
                                                    "http://netty.io/wiki/forked-tomcat-native.html#wiki-h2-4",

Review comment (bug):
I do not think we should remove options. We should deprecate the old option and still allow it to work and have the documentation reference the new option as the preferred way of now doing things. Otherwise we get a failure when adopting this code.  

Code after:
    // ------------------------ ssl parameters --------------------------------

    /** SSL protocol version to be supported. */
    @Documentation.Section(Documentation.Sections.SECURITY_SSL)
    public static final ConfigOption<String> SSL_PROTOCOL =
            key("security.ssl.protocol")
                    .stringType()
                    .defaultValue("TLSv1.2")
                    .withDescription(
                            "The SSL protocol version to be supported for the ssl transport. Note that it doesn’t"
                                    + " support comma separated list.");

    /**
     * The standard SSL algorithms to be supported.
     *
     * <p>More options here -
     * http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites
     */
    @Documentation.Section(Documentation.Sections.SECURITY_SSL)
    public static final ConfigOption<String> SSL_ALGORITHMS =
            key("security.ssl.algorithms")
                    .stringType()
                    .defaultValue("TLS_RSA_WITH_AES_128_CBC_SHA")
                    .withDescription(
                            Description.builder()
                                    .text(
                                            "The comma separated list of standard SSL algorithms to be supported. Read more %s",
                                            link(
                                                    "http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites",
                                                    "here"))
                                    .build());

    /**
     * @deprecated Use {@link SecurityOptions#SSL_REST_VERIFY_HOSTNAME}.
     */
    @Deprecated
    @Documentation.ExcludeFromDocumentation(
            "Hostname verification is only supported for REST connections.")
    public static final ConfigOption<Boolean> SSL_VERIFY_HOSTNAME =
            key("security.ssl.verify-hostname")
                    .booleanType()
                    .defaultValue(false)
                    .withDescription(
                            "Flag to enable peer’s hostname verification during ssl handshake.");

    /** SSL engine provider. */
    @Documentation.Section(Documentation.Sections.EXPERT_SECURITY_SSL)
    public static final ConfigOption<String> SSL_PROVIDER =
            key("security.ssl.provider")
                    .stringType()
                    .defaultValue("JDK")