Github user ptgoetz commented on a diff in the pull request:
https://github.com/apache/storm/pull/1595#discussion_r72513531
--- Diff: conf/defaults.yaml ---
@@ -259,6 +259,10 @@ topology.disruptor.batch.size: 100
topology.disruptor.batch.timeout.millis: 1
topology.disable.loadaware: false
topology.state.checkpoint.interval.ms: 1000
+topology.metrics.aggregate.per.worker: false
--- End diff --
@harshach you are correct, there are no *explicit* interface changes. But
there is an *implicit* contract with existing implementations that expect
`DataPoint.value` to be a specific type, and that contract is broken when this
flag is set to `true`. So this is *effectively* an API change that's just
hidden by the fact that it is configurable.
> Btw, we should try avoiding to address current metrics feature and start
re-designing new metrics feature. To tell the truth, this feature is actually
closer to a hot-fix instead of improvement.
I agree with @HeartSaVioR that this approach is less than optimal and very
brittle. If we're going to break backward compatibility, we should go ahead and
improve the design of the API.
I really don't like the idea that a configuration change can effectively
change an API. I'd rather change the API to be more explicit in terms of data
types sent to the implementation.
---
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 [email protected] or file a JIRA ticket
with INFRA.
---