Skip to content

[BEAM-6440] Fix leakage of timer de-duplication map#7530

Merged
mxm merged 1 commit intoapache:release-2.10.0from
tweise:pr7517-release-2.10.0
Jan 16, 2019
Merged

[BEAM-6440] Fix leakage of timer de-duplication map#7530
mxm merged 1 commit intoapache:release-2.10.0from
tweise:pr7517-release-2.10.0

Conversation

@tweise
Copy link
Contributor

@tweise tweise commented Jan 16, 2019

The FlinkStateInternals use a keyed map of pending timers to make up for Flink's
limitation to only be able to delete timers with their original timestamp, not
via timer id.

The Map leaked memory because subclasses of DoFnOperator overwrote fireTimer
which was responsible for performing cleanup in the map upon firing a timer.

Please add a meaningful description for your change here


Follow this checklist to help us incorporate your contribution quickly and easily:

  • Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

Post-Commit Tests Status (on master branch)

Lang SDK Apex Dataflow Flink Gearpump Samza Spark
Go Build Status --- --- --- --- --- ---
Java Build Status Build Status Build Status Build Status
Build Status
Build Status
Build Status Build Status Build Status
Python Build Status --- Build Status
Build Status
Build Status --- --- ---

The FlinkStateInternals use a keyed map of pending timers to make up for Flink's
limitation to only be able to delete timers with their original timestamp, not
via timer id.

The Map leaked memory because subclasses of DoFnOperator overwrote `fireTimer`
which was responsible for performing cleanup in the map upon firing a timer.
@tweise tweise requested review from kennknowles and mxm January 16, 2019 02:28
@kennknowles
Copy link
Member

Looks like trouble in the precommits

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

FYI This is backported from #7517.

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

Run Python PreCommit

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

Run Python_ValidatesRunner_Flink PreCommit

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

Run Python Flink ValidatesRunner

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

Above failing PreCommit Python_ValidatesRunner_Flink has been temporarily removed: #7533

@mxm
Copy link
Contributor

mxm commented Jan 16, 2019

Python PreCommit fails but is unrelated:

10:54:15 > Task :beam-sdks-python-precommit-dataflow:precommitIT FAILED
10:54:15 
10:54:15 FAILURE: Build failed with an exception.
10:54:15 
10:54:15 * Where:
10:54:15 Build file '/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Phrase/src/sdks/python/precommit/dataflow/build.gradle' line: 36
10:54:15 
10:54:15 * What went wrong:
10:54:15 Execution failed for task ':beam-sdks-python-precommit-dataflow:precommitIT'.
10:54:15 > Process 'command 'sh'' finished with non-zero exit value 1

@mxm mxm merged commit 7807606 into apache:release-2.10.0 Jan 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants