[ https://issues.apache.org/jira/browse/SAMZA-1054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15703368#comment-15703368 ]
ASF GitHub Bot commented on SAMZA-1054: --------------------------------------- GitHub user prateekm opened a pull request: https://github.com/apache/samza/pull/25 SAMZA-1054: Refactor Operator APIs Some suggestions for an Operator API refactor and misc. cleanup. It does contain some implementation changes, mostly due to deleted, extracted or merged classes. (e.g. OperatorFactory + ChainedOperators == OperatorImpls). Since git marked several moved classes as (delete + new) instead, it's probably best to apply the diff locally and browse the code in an IDE. Some of the changes, in no particular order: * Extracted XFunction interfaces into a .functions package in -api. * -api's internal.Operators is now the -operators's spec.* package. Extracted interfaces and classes. Factory methods are now in OperatorSpecs. * -api's MessageStreams is now -api's MessageStream interface and -operators's MessageStreamImpl. * -api's internal.Windows classes are now in -api's .window package. Extracted interfaces and classes, but no implementation changes. * OperatorFactory + ChainedOperators is now OperatorImpls, which is used from StreamOperatorAdaptorTask. * Added a NoOpOperatorImpl, which acts as the root node for the OperatorImpl DAG returned by OperatorImpls. * Removed usages of reactivestreams APIs since current code looks simpler without them. We can add them back when we need features like backpressure etc. * Removed the InputSystemMessage interface. * Made field names consistent (e.g Fn suffix for functions everywhere etc.). * Some method/class visibility changes due to moved classes. Haven't done this for all the classes yet. * General documentation changes, mostly to make public APIs clearer. Haven't done this for all the classes yet. There are additional questions/tasks that we can address in future RBs: * Updating Window and Trigger APIs. * Merging samza-operator into samza-core. * Questions about Message timestamp and Offset comparison semantics. * Questions about OperatorSpec serialization (e.g. ID generation). * Questions about StateStoreImpl and StoreFunctions. You can merge this pull request into a Git repository by running: $ git pull https://github.com/prateekm/samza master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/samza/pull/25.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #25 ---- commit 25f2f54d8ce9a418629c71c872eddf50b01c5a03 Author: Prateek Maheshwari <pmahe...@linkedin.com> Date: 2016-11-28T22:31:12Z SAMZA-1054: Refactor Operator APIs Some suggestions for an Operator API refactor and misc. cleanup. It does contain some implementation changes, mostly due to deleted, extracted or merged classes. (e.g. OperatorFactory + ChainedOperators == OperatorImpls). Since git marked several moved classes as (delete + new) instead, it's probably best to apply the diff locally and browse the code in an IDE. Some of the changes, in no particular order: * Extracted XFunction interfaces into a .functions package in -api. * -api's internal.Operators is now the -operators's spec.* package. Extracted interfaces and classes. Factory methods are now in OperatorSpecs. * -api's MessageStreams is now -api's MessageStream interface and -operators's MessageStreamImpl. * -api's internal.Windows classes are now in -api's .window package. Extracted interfaces and classes, but no implementation changes. * OperatorFactory + ChainedOperators is now OperatorImpls, which is used from StreamOperatorAdaptorTask. * Added a NoOpOperatorImpl, which acts as the root node for the OperatorImpl DAG returned by OperatorImpls. * Removed usages of reactivestreams APIs since current code looks simpler without them. We can add them back when we need features like backpressure etc. * Removed the InputSystemMessage interface. * Made field names consistent (e.g Fn suffix for functions everywhere etc.). * Some method/class visibility changes due to moved classes. Haven't done this for all the classes yet. * General documentation changes, mostly to make public APIs clearer. Haven't done this for all the classes yet. There are additional questions/tasks that we can address in future RBs: * Updating Window and Trigger APIs. * Merging samza-operator into samza-core. * Questions about Message timestamp and Offset comparison semantics. * Questions about OperatorSpec serialization (e.g. ID generation). * Questions about StateStoreImpl and StoreFunctions. ---- > Refactor public Operator APIs > ----------------------------- > > Key: SAMZA-1054 > URL: https://issues.apache.org/jira/browse/SAMZA-1054 > Project: Samza > Issue Type: Sub-task > Components: sql > Reporter: Prateek Maheshwari > Assignee: Prateek Maheshwari > -- This message was sent by Atlassian JIRA (v6.3.4#6332)