flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-8322) support getting number of existing timers in TimerService
Date Wed, 03 Jan 2018 16:19:00 GMT

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

ASF GitHub Bot commented on FLINK-8322:
---------------------------------------

Github user GJL commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5236#discussion_r159464428
  
    --- Diff: flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/HeapInternalTimerService.java
---
    @@ -475,4 +483,38 @@ public int getLocalKeyGroupRangeStartIdx() {
     	public Set<InternalTimer<K, N>>[] getProcessingTimeTimersPerKeyGroup() {
     		return this.processingTimeTimersByKeyGroup;
     	}
    +
    +	private void incrementProcessingTimeTimer(K key, N namespace) {
    +		incrementTimeTimer(processingTimeNumberTimers, key, namespace);
    +	}
    +
    +	private void incrementEventTimeTimer(K key, N namespace) {
    +		incrementTimeTimer(eventTimeNumberTimers, key, namespace);
    +	}
    +
    +	private void incrementTimeTimer(Table<K, N, Integer> table, K key, N namespace)
{
    +		if (table.contains(key, namespace)) {
    +			table.put(key, namespace, table.get(key, namespace) + 1);
    +		} else {
    +			table.put(key, namespace, 1);
    +		}
    +	}
    +
    +	private void decrementProcessingTimeTimer(K key, N namespace) {
    +		decrementTimeTimer(processingTimeNumberTimers, key, namespace);
    +	}
    +
    +	private void decrementEventTimeTimer(K key, N namespace) {
    +		decrementTimeTimer(eventTimeNumberTimers, key, namespace);
    +	}
    +
    +	private void decrementTimeTimer(Table<K, N, Integer> table, K key, N namespace)
{
    +		if (table.contains(key, namespace)) {
    --- End diff --
    
    Can it actually happen that the `(key, namespace)` is not in the table? If it should not
happen, maybe 
     a `checkState` is better.


> support getting number of existing timers in TimerService
> ---------------------------------------------------------
>
>                 Key: FLINK-8322
>                 URL: https://issues.apache.org/jira/browse/FLINK-8322
>             Project: Flink
>          Issue Type: Improvement
>          Components: DataStream API
>    Affects Versions: 1.4.0
>            Reporter: Bowen Li
>            Assignee: Bowen Li
>             Fix For: 1.5.0
>
>
> There are pretty common use cases where users want to use timers as scheduled threads
- e.g. add a timer to wake up x hours later and do something (reap old data usually) only
if there's no existing timers, basically we only want at most 1 timer exists for the key all
the time



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

Mime
View raw message