remove is idempotent
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/34d0d446 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/34d0d446 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/34d0d446 Branch: refs/heads/master Commit: 34d0d44680d2653d3fa2b81011061700c59509f5 Parents: bab23a9 Author: Mark Shields <[email protected]> Authored: Thu Mar 10 14:11:20 2016 -0800 Committer: Mark Shields <[email protected]> Committed: Thu Mar 10 14:11:20 2016 -0800 ---------------------------------------------------------------------- examples/pom.xml | 2 +- pom.xml | 2 +- sdk/pom.xml | 2 +- .../cloud/dataflow/sdk/util/MergingActiveWindowSet.java | 8 ++++++-- 4 files changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/34d0d446/examples/pom.xml ---------------------------------------------------------------------- diff --git a/examples/pom.xml b/examples/pom.xml index 2218367..c15f73f 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>com.google.cloud.dataflow</groupId> <artifactId>google-cloud-dataflow-java-sdk-parent</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.6.0-SNAPSHOT</version> </parent> <groupId>com.google.cloud.dataflow</groupId> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/34d0d446/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 7e5e078..6fb0b32 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ <url>http://cloud.google.com/dataflow</url> <inceptionYear>2013</inceptionYear> - <version>1.5.0-SNAPSHOT</version> + <version>1.6.0-SNAPSHOT</version> <licenses> <license> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/34d0d446/sdk/pom.xml ---------------------------------------------------------------------- diff --git a/sdk/pom.xml b/sdk/pom.xml index f782b78..d7e10a5 100644 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>com.google.cloud.dataflow</groupId> <artifactId>google-cloud-dataflow-java-sdk-parent</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.6.0-SNAPSHOT</version> </parent> <groupId>com.google.cloud.dataflow</groupId> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/34d0d446/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/MergingActiveWindowSet.java ---------------------------------------------------------------------- diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/MergingActiveWindowSet.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/MergingActiveWindowSet.java index 5af4ea5..96629b1 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/MergingActiveWindowSet.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/MergingActiveWindowSet.java @@ -191,8 +191,12 @@ public class MergingActiveWindowSet<W extends BoundedWindow> implements ActiveWi @Override public void remove(W window) { - Preconditions.checkState(isActive(window), "Window %s is not active", window); - for (W stateAddressWindow : activeWindowToStateAddressWindows.get(window)) { + Set<W> stateAddressWindows = activeWindowToStateAddressWindows.get(window); + if (stateAddressWindows == null) { + // Window is no longer active. + return; + } + for (W stateAddressWindow : stateAddressWindows) { windowToActiveWindow.remove(stateAddressWindow); } activeWindowToStateAddressWindows.remove(window);
