Loop parameters seems to be capable of flagging process as modified, sometimes

tennenrishintennenrishin Member Posts: 177 Contributor II
edited November 2018 in Help
I have some large processes (100+ operators) that often become flagged as modified when simply running. By "flagged as modified" I mean an asterisk appears in the title bar and when the process is closed, RM prompts for saving changes, even though no changes were made.

After a lot of observation and breakpointing etc., I have determined that the flagging happens when a Loop Parameters operator modifies an internal Set Macro operator's value parameter. However, the flagging does not happen consistently. Under a given set of conditions, it may happen sometimes, and sometimes not.

The following process (a small fragment narrowed down from my original process) has been observed to exhibit this behavior at least occasionally:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.005">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="5.3.005" expanded="true" name="Process">
   <process expanded="true">
     <operator activated="true" class="retrieve" compatibility="5.3.005" expanded="true" height="60" name="Retrieve a" width="90" x="45" y="75">
       <parameter key="repository_entry" value="dbg/aa"/>
     </operator>
     <operator activated="true" class="loop_parameters" compatibility="5.3.005" expanded="true" height="76" name="Loop Parameters" width="90" x="313" y="120">
       <list key="parameters">
         <parameter key="pp.value" value="f_,fx_,p_,px_"/>
       </list>
       <process expanded="true">
         <operator activated="true" class="set_macro" compatibility="5.3.005" expanded="true" height="76" name="pp" width="90" x="45" y="30">
           <parameter key="macro" value="pp"/>
           <parameter key="value" value="px_"/>
         </operator>
         <operator activated="true" class="generate_attributes" compatibility="5.3.005" expanded="true" height="76" name="tradeClass=&quot;&quot;" width="90" x="180" y="30">
           <list key="function_descriptions">
             <parameter key="tradeClass" value="&quot;MISSING&quot;"/>
           </list>
         </operator>
         <operator activated="true" class="declare_missing_value" compatibility="5.3.005" expanded="true" height="76" name="&quot;&quot; = missing" width="90" x="315" y="30">
           <parameter key="attribute_filter_type" value="single"/>
           <parameter key="attribute" value="tradeClass"/>
           <parameter key="mode" value="nominal"/>
           <parameter key="nominal_value" value="MISSING"/>
         </operator>
         <connect from_port="input 1" to_op="pp" to_port="through 1"/>
         <connect from_op="pp" from_port="through 1" to_op="tradeClass=&quot;&quot;" to_port="example set input"/>
         <connect from_op="tradeClass=&quot;&quot;" from_port="example set output" to_op="&quot;&quot; = missing" to_port="example set input"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="source_input 2" spacing="0"/>
         <portSpacing port="sink_performance" spacing="0"/>
         <portSpacing port="sink_result 1" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Retrieve a" from_port="output" to_op="Loop Parameters" to_port="input 1"/>
     <portSpacing port="source_input 1" spacing="0"/>
     <portSpacing port="sink_result 1" spacing="0"/>
   </process>
 </operator>
</process>

Answers

  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    That's true, because Loop Parameters actually changes the parameters of the operators. That's admittedly a bit annoying at times, but we have no plans to change that at the moment.

    Best regards,
    Marius
Sign In or Register to comment.