kieker-monitoring / kieker

Kieker's main repository
Apache License 2.0
70 stars 41 forks source link

[KIEKER-1447] Plugin termination error #2390

Open rju opened 3 days ago

rju commented 3 days ago

JIRA Issue: KIEKER-1447 Plugin termination error Original Reporter: Thomas F. Düllmann


'''Error scenario:'''
If a shutdown call for pluginA occurs and its incoming plugins have not finished yet.
Then pluginA goes into TERMINATING state and tries to shutdown the incoming plugins. Those incoming plugins finish due to recursion.
However, instead of returning to pluginA they call shutdown of all outgoing plugins.

This way, the shutdown of a successor of pluginA could be triggered.

Then the successor checks all incoming plugins for termination (calls shutdown). Unfortunatly,the termination of pluginA is skipped due to TERMINATING state

Jürgen Walter fixed this in changeset:11af4f5e93315166a7caf11713230fbb52203b69/kieker-git

'''ToDo:'''

rju commented 2 days ago

author Thomas F. Düllmann -- Fri, 22 Apr 2016 09:46:57 +0200

Merged into master in changeset:37037207a46c08014fd717ff017d3e12d823c99e/kieker-git

Thanks to Jürgen Walter for this patch.

rju commented 2 days ago

author Thomas F. Düllmann -- Fri, 22 Apr 2016 09:47:13 +0200

Replying to [ticket:1775 thomas.duellmann]:
> '''Error scenario:'''
> If a shutdown call for pluginA occurs and its incoming plugins have not finished yet.
> Then pluginA goes into TERMINATING state and tries to shutdown the incoming plugins. Those incoming plugins finish due to recursion.
> However, instead of returning to pluginA they call shutdown of all outgoing plugins.
>
> This way, the shutdown of a successor of pluginA could be triggered.
>
> Then the successor checks all incoming plugins for termination (calls shutdown). Unfortunatly,the termination of pluginA is skipped due to TERMINATING state
>
> Jürgen Walter fixed this in changeset:11af4f5e93315166a7caf11713230fbb52203b69/kieker-git
>
> '''ToDo:'''
> * Merge changeset:11af4f5e93315166a7caf11713230fbb52203b69/kieker-git into master
> * Create test for this

'''ToDo:'''

rju commented 2 days ago

author Thomas F. Düllmann -- Fri, 22 Apr 2016 09:47:24 +0200

Rolled back the previous version (in changeset:b8aac3e01cc78a1274d0c300529af3906e86a095/kieker-git) because the change broke the build by failing three tests:

This needs to be checked.