You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by rtudoran <gi...@git.apache.org> on 2017/04/07 13:59:17 UTC

[GitHub] flink issue #3700: Backbone implementation for supporting sort. Implementati...

Github user rtudoran commented on the issue:

    https://github.com/apache/flink/pull/3700
  
    @fhueske @shijinkui @hongyuhong @stefanobortoli @sunjincheng121 @twalthr 
    
    I have created a first implementation for supporting logical sort. As per the discussion on the JIRA issue the intention is to merge in the master the support for sorting based on proctime and event time (potentially with additional fields) in append only mode. The other cases (having offset, fetch..) will be merged in the retraction branch. The backbone for the 2 is the same and this implementation contains it.
    Please review it and let me know if you have particular comments mainly about the structure and the idea on how to approach it.
    As reference the key point is to support this via aggregates. Therefor we have a sort aggregate where we accumulate rows which are internally sorted and maintained in a sorted list based on the order given by the keys. This requires to have a single extension for retrieving the results in the form of a getValues instead of getValue.
    
    A second remark is about the usage of processFunction (with the advantage that values are accumulated/sorted as they come) - which by default requires partition. However, if there is a prepartition of the stream beforehand this would reshufle all elements. If this case is possible i will drop the partitionBy before the function (i hope this does not break the usage of ValueState) - i will add a specific comment inline
    
    For the tests - please ignore them as instead of integration tests i will use the harness framework


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---