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

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

                Author: ASF GitHub Bot
            Created on: 29/Mar/22 03:07
            Start Date: 29/Mar/22 03:07
    Worklog Time Spent: 10m 
      Work Description: codecov[bot] edited a comment on pull request #16928:
URL: https://github.com/apache/beam/pull/16928#issuecomment-1049092993


   # 
[Codecov](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 Report
   > Merging 
[#16928](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (2da7b9a) into 
[master](https://codecov.io/gh/apache/beam/commit/a126adbc6aa73f1e30adfa65a3710f7f69a7ba89?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 (a126adb) will **decrease** coverage by `28.19%`.
   > The diff coverage is `n/a`.
   
   > :exclamation: Current head 2da7b9a differs from pull request most recent 
head 4207355. Consider uploading reports for the commit 4207355 to get more 
accurate results
   
   ```diff
   @@             Coverage Diff             @@
   ##           master   #16928       +/-   ##
   ===========================================
   - Coverage   73.84%   45.65%   -28.20%     
   ===========================================
     Files         667      204      -463     
     Lines       88071    24190    -63881     
   ===========================================
   - Hits        65034    11043    -53991     
   + Misses      21930    12147     -9783     
   + Partials     1107     1000      -107     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | go | `45.65% <ø> (-3.29%)` | :arrow_down: |
   | python | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   | [Impacted 
Files](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 | Coverage Δ | |
   |---|---|---|
   | 
[sdks/go/pkg/beam/runners/direct/impulse.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9ydW5uZXJzL2RpcmVjdC9pbXB1bHNlLmdv)
 | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/runners/direct/buffer.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9ydW5uZXJzL2RpcmVjdC9idWZmZXIuZ28=)
 | `0.00% <0.00%> (-77.47%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/runners/direct/direct.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9ydW5uZXJzL2RpcmVjdC9kaXJlY3QuZ28=)
 | `1.36% <0.00%> (-65.00%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/runners/direct/gbk.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9ydW5uZXJzL2RpcmVjdC9nYmsuZ28=)
 | `22.76% <0.00%> (-49.60%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/runners/dataflow/dataflow.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9ydW5uZXJzL2RhdGFmbG93L2RhdGFmbG93Lmdv)
 | `5.29% <0.00%> (-44.71%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/internal/errors/errors.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9pbnRlcm5hbC9lcnJvcnMvZXJyb3JzLmdv)
 | `44.79% <0.00%> (-42.71%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/io/textio/textio.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9pby90ZXh0aW8vdGV4dGlvLmdv)
 | `23.77% <0.00%> (-41.81%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/util/gcsx/gcs.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS91dGlsL2djc3gvZ2NzLmdv)
 | `0.00% <0.00%> (-27.42%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/core/runtime/exec/coder.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9jb3JlL3J1bnRpbWUvZXhlYy9jb2Rlci5nbw==)
 | `30.32% <0.00%> (-26.61%)` | :arrow_down: |
   | 
[sdks/go/pkg/beam/io/databaseio/database.go](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9pby9kYXRhYmFzZWlvL2RhdGFiYXNlLmdv)
 | `2.27% <0.00%> (-21.97%)` | :arrow_down: |
   | ... and [472 
more](https://codecov.io/gh/apache/beam/pull/16928/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
 | |
   
   ------
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by 
[Codecov](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
 Last update 
[a126adb...4207355](https://codecov.io/gh/apache/beam/pull/16928?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
 Read the [comment 
docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

    Worklog Id:     (was: 749094)
    Time Spent: 7h 20m  (was: 7h 10m)

> Direct Runner State is null while active timers exist
> -----------------------------------------------------
>
>                 Key: BEAM-11971
>                 URL: https://issues.apache.org/jira/browse/BEAM-11971
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-direct
>            Reporter: Reza ardeshir rokni
>            Assignee: Reuven Lax
>            Priority: P3
>          Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> State is set to {{null}} while active timer is present, this issue does not 
> show in other runners.
> The following example will reach the IllegalStateException within 10-20 times 
> of it being run. {{LOOP_COUNT}} does not seem to be a factor as it reproduces 
> with 100 or 100000 {{LOOP_COUNT}}. The number of keys is a factor as it did 
> not reproduce with only one key, have not tried with more than 3 keys to see 
> if it's easier to reproduce. 
>  
> {code}
> package test;
> import org.apache.beam.sdk.Pipeline;
> import org.apache.beam.sdk.coders.BigEndianIntegerCoder;
> import org.apache.beam.sdk.coders.KvCoder;
> import org.apache.beam.sdk.state.StateSpec;
> import org.apache.beam.sdk.state.StateSpecs;
> import org.apache.beam.sdk.state.TimeDomain;
> import org.apache.beam.sdk.state.Timer;
> import org.apache.beam.sdk.state.TimerSpec;
> import org.apache.beam.sdk.state.TimerSpecs;
> import org.apache.beam.sdk.state.ValueState;
> import org.apache.beam.sdk.testing.TestStream;
> import org.apache.beam.sdk.transforms.DoFn;
> import org.apache.beam.sdk.transforms.PTransform;
> import org.apache.beam.sdk.transforms.ParDo;
> import org.apache.beam.sdk.transforms.WithKeys;
> import org.apache.beam.sdk.values.KV;
> import org.apache.beam.sdk.values.PCollection;
> import org.joda.time.Duration;
> import org.joda.time.Instant;
> import java.util.Optional;
>  
> public class Test {
>    public static void main (String [] args) throws Exception{
>        Test.testToFailure();
>    }
>    public static void testToFailure() throws Exception {
>        int count = 0;
>        while (true) {
>            failingTest();
>            System.out.println(
>                    String.format("Got to Count %s", String.valueOf(count++)));
>        }
>    }
>    public static void failingTest() throws Exception {
>        Pipeline p = Pipeline.create();
>        Instant now = Instant.now();
>        TestStream<Integer> stream =
>                TestStream.create(BigEndianIntegerCoder.of())
>                        .addElements(1)
>                        
> .advanceWatermarkTo(now.plus(Duration.standardSeconds(1)))
>                        .addElements(2)
>                        
> .advanceWatermarkTo(now.plus(Duration.standardSeconds(1)))
>                        .addElements(3)
>                        .advanceWatermarkToInfinity();
>        p.apply(stream)
>                .apply(WithKeys.of(x -> x))
>                .setCoder(KvCoder.of(BigEndianIntegerCoder.of(), 
> BigEndianIntegerCoder.of()))
>                .apply(new TestToFail());
>        p.run();
>    }
>    public static class TestToFail
>            extends PTransform<PCollection<KV<Integer, Integer>>, 
> PCollection<Integer>> {
>        @Override
>        public PCollection<Integer> expand(PCollection<KV<Integer, Integer>> 
> input) {
>            return input.apply(ParDo.of(new LoopingRead()));
>        }
>    }
>    public static class LoopingRead extends DoFn<KV<Integer, Integer>, 
> Integer> {
>        static int LOOP_COUNT = 100;
>        @StateId("value")
>        private final StateSpec<ValueState<Integer>> value =
>                StateSpecs.value(BigEndianIntegerCoder.of());
>        @StateId("count")
>        private final StateSpec<ValueState<Integer>> count =
>                StateSpecs.value(BigEndianIntegerCoder.of());
>        @TimerId("actionTimers")
>        private final TimerSpec timer = 
> TimerSpecs.timer(TimeDomain.EVENT_TIME);
>        @ProcessElement
>        public void processElement(
>                ProcessContext c,
>                @StateId("value") ValueState<Integer> value,
>                @TimerId("actionTimers") Timer timers) {
>            value.write(c.element().getValue());
>            timers.set(c.timestamp().plus(Duration.millis(1000)));
>        }
>        /** */
>        @OnTimer("actionTimers")
>        public void onTimer(
>                OnTimerContext c,
>                @StateId("value") ValueState<Integer> value,
>                @StateId("count") ValueState<Integer> count,
>                @TimerId("actionTimers") Timer timers) {
>            if (value.read() == null) {
>                throw new IllegalStateException("BINGO!");
>            }
>            Integer counter = Optional.ofNullable(count.read()).orElse(0) + 1;
>            count.write(counter);
>            value.write(value.read() + counter);
>            if (counter < LOOP_COUNT) {
>                timers.set(c.timestamp().plus(Duration.standardSeconds(1)));
>            }
>        }
>    }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to