cassandra-pr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aweisberg <...@git.apache.org>
Subject [GitHub] cassandra pull request #283: CASSANDRA-14459: DynamicEndpointSnitch should n...
Date Mon, 15 Oct 2018 22:34:25 GMT
Github user aweisberg commented on a diff in the pull request:

    https://github.com/apache/cassandra/pull/283#discussion_r225338651
  
    --- Diff: src/java/org/apache/cassandra/service/StorageServiceMBean.java ---
    @@ -469,15 +469,22 @@
          * If {@code epSnitchClassName} is specified, it will configure a new snitch instance
and make it a
          * 'dynamic snitch' if {@code dynamic} is specified and {@code true}.
          *
    -     * The parameters {@code dynamicUpdateInterval}, {@code dynamicResetInterval} and
{@code dynamicBadnessThreshold}
    +     * The parameters {@code dynamicUpdateInterval}, {@code dynamicLatencyProbeInterval}
and {@code dynamicBadnessThreshold}
          * can be specified individually to update the parameters of the dynamic snitch during
runtime.
          *
    -     * @param epSnitchClassName        the canonical path name for a class implementing
IEndpointSnitch
    -     * @param dynamic                  boolean that decides whether dynamicsnitch is
used or not - only valid, if {@code epSnitchClassName} is specified
    -     * @param dynamicUpdateInterval    integer, in ms (defaults to the value configured
in cassandra.yaml, which defaults to 100)
    -     * @param dynamicResetInterval     integer, in ms (defaults to the value configured
in cassandra.yaml, which defaults to 600,000)
    -     * @param dynamicBadnessThreshold  double, (defaults to the value configured in cassandra.yaml,
which defaults to 0.0)
    +     * @param epSnitchClassName          the canonical path name for a class implementing
IEndpointSnitch
    +     * @param dynamicBadnessThreshold    double, (defaults to the value configured in
cassandra.yaml, which defaults to 0.0)
    +     * @param dynamic                    boolean that decides whether dynamicsnitch is
used or not - only valid, if {@code epSnitchClassName} is specified
    +     * @param dynamicUpdateInterval      integer, in ms (defaults to the value configured
in cassandra.yaml, which defaults to 100)
    +     * @param dynamicLatencyProbeInterval integer, in ms (defaults to the value configured
in cassandra.yaml, which defaults to 1,000)
          */
    +    public void updateSnitch(String epSnitchClassName, Double dynamicBadnessThreshold,
Boolean dynamic, Integer dynamicUpdateInterval, Integer dynamicLatencyProbeInterval) throws
ClassNotFoundException;
    --- End diff --
    
    They can specify a snitch class name, but not a dynamic snitch class name?
    In general they can't specify much in terms of arbitrary config for the DES they custom
specified earlier. Seems like pluggability without configurability seems to be only half way
there. Seems like they should be able to provide a map containing the config.
    
    I mean maybe custom snitches are configured some other way, but that turns updating the
snitch via JMX into a two step process. Once to satisfy C* and again to satisfy your custom
snitch implementation.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org


Mime
View raw message