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

Kenneth Knowles commented on BEAM-6352:
---------------------------------------

Summarizing some thoughts here. The idea of allowing a subclass of 
RestrictionTracker is twofold:

1. Something has to actually implement it (RestrictionTracker should be an 
interface)
2. Each kind of RestrictionTracker may generally have special methods.

I think part of the idea of changing number 2 is that the user might actually 
mess up the implementation. Also that the runner wants to wrap the user's 
RestrictionTracker class in its own that adds synchronization as necessary.

So I wonder if the GrowthTracker extra methods do seem like subverting the main 
methods or if they can be implemented another way. The only other place that 
user types can show up is RestrictionT and PositionT. So perhaps the extra 
methods can go here. I am really not expert in any of this. I am just going on 
what I can read in PRs and the mailing list. I haven't really followed the SDF 
details.

> Watch PTransform is broken
> --------------------------
>
>                 Key: BEAM-6352
>                 URL: https://issues.apache.org/jira/browse/BEAM-6352
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>    Affects Versions: 2.9.0
>            Reporter: Gleb Kanterov
>            Assignee: Boyuan Zhang
>            Priority: Blocker
>             Fix For: 2.10.0
>
>
> List of affected tests:
> org.apache.beam.sdk.transforms.WatchTest > 
> testSinglePollMultipleInputsWithSideInput FAILED
> org.apache.beam.sdk.transforms.WatchTest > testMultiplePollsWithKeyExtractor 
> FAILED
> org.apache.beam.sdk.transforms.WatchTest > testSinglePollMultipleInputs FAILED
> org.apache.beam.sdk.transforms.WatchTest > 
> testMultiplePollsWithTerminationDueToTerminationCondition FAILED
> org.apache.beam.sdk.transforms.WatchTest > testMultiplePollsWithManyResults 
> FAILED
> org.apache.beam.sdk.transforms.WatchTest > testSinglePollWithManyResults 
> FAILED
> org.apache.beam.sdk.transforms.WatchTest > 
> testMultiplePollsStopAfterTimeSinceNewOutput 
> org.apache.beam.sdk.transforms.WatchTest > 
> testMultiplePollsWithTerminationBecauseOutputIsFinal FAILED
> org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests > 
> testContinuouslyWriteAndReadMultipleFilepatterns[0: true] FAILED
> org.apache.beam.sdk.io.AvroIOTest$NeedsRunnerTests > 
> testContinuouslyWriteAndReadMultipleFilepatterns[1: false] FAILED
> org.apache.beam.sdk.io.FileIOTest > testMatchWatchForNewFiles FAILED
> org.apache.beam.sdk.io.TextIOReadTest$BasicIOTest > testReadWatchForNewFiles 
> FAILED
> {code}
> java.lang.IllegalArgumentException: 
> org.apache.beam.sdk.transforms.Watch$WatchGrowthFn, @ProcessElement 
> process(ProcessContext, GrowthTracker): Has tracker type 
> Watch.GrowthTracker<OutputT, KeyT, TerminationStateT>, but the DoFn's tracker 
> type must be of type RestrictionTracker.
> {code}
> Relevant pull requests:
> - https://github.com/apache/beam/pull/6467
> - https://github.com/apache/beam/pull/7374
> Now tests are marked with @Ignore referencing this JIRA issue



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

Reply via email to