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

Ismaël Mejía edited comment on BEAM-4016 at 4/18/18 9:56 PM:
-------------------------------------------------------------

I printed for SDFWithLifecycle in SplittableDoFnTest every call to the id of 
the thread and the call to the method. Take a look at this commit
https://github.com/iemejia/beam/commit/75d8279858f2f4f0cd35af7a117ddb7ae7eb1e3a

This produces this output:

[code]
18 GetInitialRestriction c
19 GetInitialRestriction b
15 GetInitialRestriction a
13 Setup
14 Setup
18 Setup
18 SplitRestriction a - [0, 1)
14 SplitRestriction c - [0, 1)
13 SplitRestriction b - [0, 1)
18 Setup
17 Setup
13 Setup
17 ProcessElement b - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
18 ProcessElement c - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
13 ProcessElement a - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
17 Teardown
17 Teardown
17 Teardown
[code]



was (Author: iemejia):
I printed for SDFWithLifecycle in SplittableDoFnTest every call to the id of 
the thread and the call to the method. Take a look at this commit
https://github.com/iemejia/beam/commit/75d8279858f2f4f0cd35af7a117ddb7ae7eb1e3a

This produces this output:

[code]
18 GetInitialRestriction c
19 GetInitialRestriction b
15 GetInitialRestriction a
13 Setup
14 Setup
18 Setup
18 SplitRestriction a - [0, 1)
14 SplitRestriction c - [0, 1)
13 SplitRestriction b - [0, 1)
18 Setup
17 Setup
13 Setup
17 ProcessElement b - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
18 ProcessElement c - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
13 ProcessElement a - OffsetRangeTracker{range=[0, 1), lastClaimedOffset=null, 
lastAttemptedOffset=null}
17 Teardown
17 Teardown
17 Teardown
[code]



> Direct runner incorrect lifecycle, @SplitRestriction should execute after 
> @Setup on SplittableDoFn
> --------------------------------------------------------------------------------------------------
>
>                 Key: BEAM-4016
>                 URL: https://issues.apache.org/jira/browse/BEAM-4016
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-direct
>    Affects Versions: 2.4.0
>            Reporter: Ismaël Mejía
>            Assignee: Thomas Groh
>            Priority: Major
>         Attachments: sdf-splitrestriction-lifeycle-test.patch
>
>
> The method annotated with @SplitRestriction is the method where we can define 
> the RestrictionTrackers (splits) in advance in a SDF. It makes sense to 
> execute this after the @Setup method given that usually connections are 
> established at Setup and can be used to ask the different data stores about 
> the partitioning strategy. I added a test for this in the 
> SplittableDoFnTest.SDFWithLifecycle test.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to