Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 539225

Summary: Manual refresh can fail with multiple opened diagram after a deletion with permission authority
Product: [Modeling] Sirius Reporter: Pierre Guilet <pierre.guilet>
Component: DiagramAssignee: Project Inbox <sirius.diagram-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: laurent.redor
Version: 4.1.0   
Target Milestone: 4.1.10   
Hardware: PC   
OS: Windows 10   
See Also: https://git.eclipse.org/r/129676
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=a0ef38d5b8c3ff356c8b28c51ad143e717833c09
https://git.eclipse.org/r/130122
Whiteboard:
Bug Depends on:    
Bug Blocks: 539551, 539563    

Description Pierre Guilet CLA 2018-09-19 05:57:33 EDT
When manual refresh is active and many diagrams are opened, removing an element present in both diagram can lead to a lock exception causing various troubles.

This is caused by the org.eclipse.sirius.diagram.ui.internal.refresh.listeners.FilterListener that update graphical filters of diagram elements.

A filter is itialized for each opened diagram.
Refreshing one diagram makes all the filters to execute their code regardless of the locked status of its diagram.

So if one of the diagram is locked by a permission authority and you refresh the other you will have the lock exception.

The solution is to check if the diagram is locked by other before executing its computing.
Comment 1 Eclipse Genie CLA 2018-09-19 08:07:58 EDT
New Gerrit change created: https://git.eclipse.org/r/129676
Comment 3 Pierre Guilet CLA 2018-09-25 12:24:17 EDT
This issue has no "steps to reproduce" as the problem occurs only in team environment. It will be validated with a specific team issue.
Comment 4 Eclipse Genie CLA 2018-09-28 04:48:57 EDT
New Gerrit change created: https://git.eclipse.org/r/130122