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