[ 
https://issues.apache.org/jira/browse/METRON-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16158915#comment-16158915
 ] 

ASF GitHub Bot commented on METRON-1167:
----------------------------------------

Github user nickwallen commented on a diff in the pull request:

    https://github.com/apache/metron/pull/740#discussion_r137838874
  
    --- Diff: 
metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarShell.java
 ---
    @@ -308,17 +315,68 @@ private void handleMagic( String rawExpression) {
                   .collect(Collectors.joining(", "));
           writeLine(functions);
     
    -    } else if(MAGIC_VARS.equals(command)) {
    +    } else if (MAGIC_VARS.equals(command)) {
     
    -      // list all variables
    +      // '%vars' -> list all variables in scope
           executor.getVariables()
    -              .forEach((k,v) -> writeLine(String.format("%s = %s", k, v)));
    +              .forEach((k, v) -> writeLine(String.format("%s = %s", k, 
v)));
    +
    +    } else if (MAGIC_GLOBALS.equals(command)) {
    +
    +      // '%globals' -> list all globals in scope
    +      Map<String, Object> globals = Collections.emptyMap();
    --- End diff --
    
    It is just not strictly needed since if I start out with an empty map and 
there is no global config in Zk, then we are just left with the empty map, so 
we're good.  So functionally getOrCreate is not needed here.
    
    That being said, I can see how it would bring a nice sense of symmetry to 
just use getOrCreate in this case also.  Let me try that out real quick.
    



> Define Session Specific Global Configuration Values in the REPL
> ---------------------------------------------------------------
>
>                 Key: METRON-1167
>                 URL: https://issues.apache.org/jira/browse/METRON-1167
>             Project: Metron
>          Issue Type: Improvement
>    Affects Versions: 0.4.0
>            Reporter: Nick Allen
>            Assignee: Nick Allen
>
> Many Stellar functions accept configuration values from the Global 
> configuration.  When using the REPL you can load the global configuration 
> values by launching the REPL with the -z option, which loads the global 
> configuration stored in Zookeeper.
> The only way to modify the global configuration within the REPL currently is 
> to do the following steps.
> 1. Retrieve the global configuration with conf := CONFIG_GET("global")
> 2. Alter that global configuration by modifying the JSON contained in the 
> `conf` variable.
> 3. Push the new global configuration using CONFIG_PUT("global", conf)
> 4. Close and then reopen the REPL.  Without restarting the REPL the new 
> global configuration is not loaded.
> I want a way to do this directly in the REPL, without restarting it, and also 
> in a way that does not modify the persisted global configuration in 
> Zookeeper.  I may be monkeying with something the REPL, but I don't want to 
> break one of my live Metron topologies.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to