[ 
https://issues.apache.org/jira/browse/BEAM-5605?focusedWorklogId=378612&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-378612
 ]

ASF GitHub Bot logged work on BEAM-5605:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 29/Jan/20 01:17
            Start Date: 29/Jan/20 01:17
    Worklog Time Spent: 10m 
      Work Description: TheNeuralBit commented on pull request #10702: 
[BEAM-5605] Migrate splittable DoFn methods to use "new" DoFn style argument 
providing.
URL: https://github.com/apache/beam/pull/10702#discussion_r372141617
 
 

 ##########
 File path: 
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java
 ##########
 @@ -614,45 +612,93 @@ public Duration getAllowedTimestampSkew() {
    * <p>See <a href="https://s.apache.org/splittable-do-fn";>the proposal</a> 
for an overview of the
    * involved concepts (<i>splittable DoFn</i>, <i>restriction</i>, 
<i>restriction tracker</i>).
    *
-   * <p>If a {@link DoFn} is splittable, the following constraints must be 
respected:
+   * <p>A splittable {@link DoFn} must obey the following constraints:
    *
    * <ul>
    *   <li>It <i>must</i> define a {@link GetInitialRestriction} method.
-   *   <li>It <i>may</i> define a {@link GetSize} method.
-   *   <li>It <i>may</i> define a {@link SplitRestriction} method.
+   *   <li>It <i>should</i> define a {@link GetSize} method or ensure that the 
{@link
+   *       RestrictionTracker} implements {@link Sizes.HasSize}.
+   *   <li>It <i>should</i> define a {@link SplitRestriction} method.
    *   <li>It <i>may</i> define a {@link NewTracker} method returning a 
subtype of {@code
    *       RestrictionTracker<R>} where {@code R} is the restriction type 
returned by {@link
    *       GetInitialRestriction}. This method is optional in case the 
restriction type returned by
    *       {@link GetInitialRestriction} implements {@link HasDefaultTracker}.
    *   <li>It <i>may</i> define a {@link GetRestrictionCoder} method.
    *   <li>The type of restrictions used by all of these methods must be the 
same.
-   *   <li>Its {@link ProcessElement} method <i>may</i> return a {@link 
ProcessContinuation} to
-   *       indicate whether there is more work to be done for the current 
element.
-   *   <li>Its {@link ProcessElement} method <i>must not</i> use any extra 
context parameters, such
-   *       as {@link BoundedWindow}.
    *   <li>The {@link DoFn} itself <i>may</i> be annotated with {@link 
BoundedPerElement} or {@link
    *       UnboundedPerElement}, but not both at the same time. If it's not 
annotated with either of
    *       these, it's assumed to be {@link BoundedPerElement} if its {@link 
ProcessElement} method
    *       returns {@code void} and {@link UnboundedPerElement} if it returns 
a {@link
    *       ProcessContinuation}.
+   *   <li>Timers and state must not be used.
    * </ul>
    *
    * <p>A non-splittable {@link DoFn} <i>must not</i> define any of these 
methods.
+   *
+   * <p>This method must satisfy the following constraints:
 
 Review comment:
   Would be helpful to add an "If this DoFn is splittable," here just to be 
very clear.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 378612)

> Support Portable SplittableDoFn for batch
> -----------------------------------------
>
>                 Key: BEAM-5605
>                 URL: https://issues.apache.org/jira/browse/BEAM-5605
>             Project: Beam
>          Issue Type: New Feature
>          Components: sdk-java-core
>            Reporter: Scott Wegner
>            Assignee: Luke Cwik
>            Priority: Major
>              Labels: portability
>          Time Spent: 9.5h
>  Remaining Estimate: 0h
>
> Roll-up item tracking work towards supporting portable SplittableDoFn for 
> batch



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to