Github user mxm commented on the pull request:

    https://github.com/apache/flink/pull/605#issuecomment-138866235
  
    I tried again, this works:
    
    ```java
        @Override
        public OperatorStatistics clone(){
                OperatorStatistics clone = new OperatorStatistics(config);
                clone.min = min;
                clone.max = max;
                clone.cardinality = cardinality;
    
                try {
                        ICardinality copy;
                        if (countDistinct instanceof LinearCounting) {
                                copy = new 
LinearCounting(config.getCountDbitmap());
                        } else if (countDistinct instanceof HyperLogLog) {
                                copy = new HyperLogLog(config.getCountDlog2m());
                        } else {
                                throw new IllegalStateException("Unsupported 
counter.");
                        }
                        clone.countDistinct = copy.merge(countDistinct);
                } catch (CardinalityMergeException e) {
                        throw new RuntimeException("Faild to clone 
OperatorStatistics!");
                }
    
                try {
                        HeavyHitter copy;
                        if (heavyHitter instanceof LossyCounting) {
                                copy = new 
LossyCounting(config.getHeavyHitterFraction(), config.getHeavyHitterError());
                        } else if (heavyHitter instanceof CountMinHeavyHitter) {
                                copy = new 
CountMinHeavyHitter(config.getHeavyHitterFraction(),
                                                config.getHeavyHitterError(),
                                                
config.getHeavyHitterConfidence(),
                                                config.getHeavyHitterSeed());
                        } else {
                                throw new IllegalStateException("Unsupported 
counter.");
                        }
                        copy.merge(heavyHitter);
                        clone.heavyHitter = copy;
                } catch (HeavyHitterMergeException e) {
                        throw new RuntimeException("Failed to clone 
OperatorStatistics!");
                }
    
                return clone;
        }
    ```
    
    Do you think we could merge your pull request with this change?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to