[ https://issues.apache.org/jira/browse/FLINK-15740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17027524#comment-17027524 ]
Ayush Saxena commented on FLINK-15740: -------------------------------------- Hi [~sewen] bq. Would it be sufficient to simply have this return a non-negative value? To me this seems sufficient, that is what I tried to do in the PR by {{timeLeftIfAny}} May be we can remove the logic to throw exception in {{timeLeftIfAny}} to return 0? or create a new method which doesn't throw exception in case of negative but a 0? > Remove Deadline#timeLeft() > -------------------------- > > Key: FLINK-15740 > URL: https://issues.apache.org/jira/browse/FLINK-15740 > Project: Flink > Issue Type: Improvement > Components: API / DataStream, Tests > Reporter: Chesnay Schepler > Priority: Major > Labels: pull-request-available > Fix For: 1.11.0 > > Time Spent: 20m > Remaining Estimate: 0h > > As shown in FLINK-13662, {{Deadline#timeLeft()}} is conceptually broken since > there is no reliable way to call said method while ensuring that > a) the value is non-negative (desired since most time-based APIs reject > negative values) > b) the value sign (+,-) corresponds to preceding calls to {{#hasTimeLeft()}} > > As a result any usage of the following form is unreliable and obfuscating > error messages. > {code:java} > while (deadline.hasTimeLeft()) { > doSomething(deadline.timeLeft()); > } {code} > > All existing usage should be migrate to either > {code:java} > while (deadline.hasTimeLeft()) { > doSomething(); > } {code} > or > {code:java} > while (true) { > doSomething(deadline.timeLeftIfAny()); > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)