You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/06/02 08:19:59 UTC

[jira] [Commented] (STORM-1873) Reemit late tuples in windowed mode

    [ https://issues.apache.org/jira/browse/STORM-1873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311926#comment-15311926 ] 

ASF GitHub Bot commented on STORM-1873:
---------------------------------------

Github user arunmahadevan commented on a diff in the pull request:

    https://github.com/apache/storm/pull/1453#discussion_r65500709
  
    --- Diff: storm-core/src/jvm/org/apache/storm/Config.java ---
    @@ -1872,6 +1872,13 @@
         @isString
         public static final String TOPOLOGY_BOLTS_TUPLE_TIMESTAMP_FIELD_NAME = "topology.bolts.tuple.timestamp.field.name";
     
    +    /**
    +     * Bolt-specific configuration for windowed bolts to specify whether late tuples should be emitted on a stream
    +     * called _late, instead of being logged with INFO level.
    +     */
    +    @isBoolean
    +    public static final String TOPOLOGY_BOLTS_EMIT_LATE_TUPLE = "topology.bolts.emit.late.tuple";
    --- End diff --
    
    Any reason for using a boolean and hardcoding the late tuple stream instead of letting users specify the late tuple stream (like in your earlier [patch](https://github.com/kosii/storm/commit/216c991da3c5b6c6cac1b25182b86507c3fb5e9e#diff-bf65d6d71c61b8fe2d118c4f7433de14R1880)) ? It may be better to let users specify the late tuple stream since it gives them more flexibility.


> Reemit late tuples in windowed mode
> -----------------------------------
>
>                 Key: STORM-1873
>                 URL: https://issues.apache.org/jira/browse/STORM-1873
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-core
>            Reporter: Balazs Kossovics
>
> Currently late tuples are just logged (and acknowledged in the coming 1.0.2), but in our  use-case it would be desirable to emit them on a different stream than the default.
> I implemented a first version, where every windowed bolt are going to have a '_late' stream by default, and component-specific parameter (Config.TOPOLOGY_BOLTS_EMIT_LATE_TUPLE) the definer of the bolt could turn on or off the emission of the late tuples on this stream. 
> One could turn on the emission of late tuples with a builder method like this:
> {code:title=MyWindowedBolt.java|borderStyle=solid}
> new MyWindowedBolt()
>         .withTimestampField("timestamp")
>         .withLateTupleEmission(true)
>         .withWindow(
>                 new BaseWindowedBolt.Duration(1, TimeUnit.MINUTES),
>                 new BaseWindowedBolt.Duration(1, TimeUnit.SECONDS)
>         );
> {code}
> What do you think about it?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)