You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/11 00:41:00 UTC

[jira] [Commented] (BEAM-2711) ByteKeyRangeTracker.getFractionConsumed() fails when out of range positions are claimed

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

ASF GitHub Bot commented on BEAM-2711:
--------------------------------------

GitHub user chamikaramj opened a pull request:

    https://github.com/apache/beam/pull/3715

    [BEAM-2711] Updates ByteKeyRangeTracker so that getFractionConsumed() does not fail for completed trackers

    After this update:
    * getFractionConsumed() returns 1.0 after markDone() is set.
    * getFractionConsumed() returns 1.0 after tryReturnRecordAt() is invoked for a position that is larger than or equal to the end key.
    
    This is similar to how getFractionConsumed() method of OffsetRangeTracker is implemented.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/chamikaramj/beam key_range_progress

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/3715.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 #3715
    
----
commit ba08ec3bfb1eead06772945ab888d910ffe7d436
Author: chamikara@google.com <ch...@google.com>
Date:   2017-08-11T00:35:37Z

    Updates ByteKeyRangeTracker so that getFractionConsumed() does not fail for completed trackers.
    
    After this update:
    * getFractionConsumed() returns 1.0 after markDone() is set.
    * getFractionConsumed() returns 1.0 after tryReturnRecordAt() is invoked for a position that is larger than or equal to the end key.
    
    This is similar to how getFractionConsumed() method of OffsetRangeTracker is implemented.

----


> ByteKeyRangeTracker.getFractionConsumed() fails when out of range positions are claimed
> ---------------------------------------------------------------------------------------
>
>                 Key: BEAM-2711
>                 URL: https://issues.apache.org/jira/browse/BEAM-2711
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Chamikara Jayalath
>            Assignee: Chamikara Jayalath
>
> ByteKeyRangeTracker.getFractionConsumed() invokes range.estimateFractionForKey(position) at following location.
> https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/range/ByteKeyRangeTracker.java#L127
> This invocation fails for out of range positions.
> https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/range/ByteKeyRange.java#L170
> But ByteKeyRangeTracker may accept out of range positions at following location.
> https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/range/ByteKeyRangeTracker.java#L80
> We can fix this by updating ByteKeyRangeTracker.getFractionConsumed() to return 1.0 for positions that are larger than the stop position, similar to OffsetRangeTracker.
> https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/range/OffsetRangeTracker.java#L176



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)