Hi All,

There is a possible change in operators behavior caused by changes that were introduced in the release 3.6.0 into DefaultInputPort and DefaultOutputPort. Please see https://issues.apache.org/jira/browse/APEXCORE-722. We need to agree how to proceed.

1. Break semantic versioning for the Default Input and Output Ports in the next release (3.7.0), declare protected variables as private and provide protected access method. Another option is to rename protected variables to use less common names (for example __count). 2. Keep protected variables with the risk that the following common operator design pattern will be used accidentally by existing operators and newly designed operators:

public Operator extends BaseOperator {
  private int count;
  public DefaultInputPort in = new DefaultInputPort() {
    @Override
    public void process(Object tuple)
    {
       count++;  // updates DefaultInputPort count, not Operator count!
    }
  }
}


Thank you,

Vlad

Reply via email to