[JBoss JIRA] (DROOLS-3475) [DMN Designer] Ensure integrity of DecisionService node
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3475?page=com.atlassian.jira.plugi... ]
Michael Anstis updated DROOLS-3475:
-----------------------------------
Sprint: (was: 2019 Week 02-04)
> [DMN Designer] Ensure integrity of DecisionService node
> -------------------------------------------------------
>
> Key: DROOLS-3475
> URL: https://issues.jboss.org/browse/DROOLS-3475
> Project: Drools
> Issue Type: Enhancement
> Components: DMN Editor
> Affects Versions: 7.15.0.Final
> Reporter: Michael Anstis
> Assignee: Michael Anstis
> Priority: Major
> Labels: drools-tools
>
> The {{DecisionService}} node contains lists of {{DMNElementReference}} for "Output Decisions", "Encapsulated Decisions", "Input Decision" and "Input Data". These are currently only populated when unmarshalling a DMN XML file to Stunner model. Their members are not maintained as and when Users add, delete etc nodes that could affect them. They are used as reference when marshalling back from Stunner to DML XML to maintain the positional information \[*\] of such references.
> The {{DecisionService}} node reference lists should be updated as and when the User interacts with the diagram (e.g. add/remove "Output Decision" to/from the "Decision Service", add/remove "Encapsulated Decision" to/from the "Decision Service", add/remove an "Input Data" or "Input Decision" reference to/from the "Decision Service" or move the "splitter" in such a way that could affect the "Output/Encapsulated" Decisions. This will require (at least) custom commands for add/remove child, add connection and update property (splitter location).
> \[*\] See [here|https://github.com/kiegroup/kie-wb-common/blob/master/kie-wb-common-...] that uses the order of the references set-up during marshalling from XML to Stunner to ensure identical references maintain the same index in the list marshalled from Stunner to XML. This is a DMN Specification requirement that "positional information" is preserved (without using this transient mechanism it would otherwise be impossible to preserve the index order as XML->Stunner looses the lists and Stunner->XML walks the graph to add element references to the Decision Service. The original ordering is lost by the conversion from {{List}} to _Graph_ to {{List}}.
> This "workaround" to preserve ordering should NOT be required when the integrity of {{DecisionService}} Node's element references is maintained by custom commands.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (JGRP-2324) TransferQueueBundler: view change must not purge messages to non-members
by Bela Ban (Jira)
[ https://issues.jboss.org/browse/JGRP-2324?page=com.atlassian.jira.plugin.... ]
Bela Ban resolved JGRP-2324.
----------------------------
Resolution: Done
> TransferQueueBundler: view change must not purge messages to non-members
> ------------------------------------------------------------------------
>
> Key: JGRP-2324
> URL: https://issues.jboss.org/browse/JGRP-2324
> Project: JGroups
> Issue Type: Bug
> Reporter: Bela Ban
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.0.16
>
>
> Currently, {{BaseBundler.viewChange()}} purges queued messages to non-members. This poses the following problem:
> * Members A, B. The view is \{A,B\}
> * A is coord and sends a LEAVE request to B
> * B adds a LEAVE response (to A) to the TransferQueueBundler's queue and installs new view \{B\}
> * If the LEAVE response to A is still in the TQB's queue and the new view is installed _before_ the message gets sent, the {{BaseBundler.viewChange()}} method _removes_ all queued messages to non-members, therefore the LEAVE response to A is removed
> * As a result, A will never receive the LEAVE response and therefore run into {{GMS.leave_timeout}}!
> This is aggravated by the fact that a LEAVE response is unreliable (flag={{NO_RELIABILITY}}), and therefore not retransmitted by UNICAST3.
> Solution: remove the {{viewChange()}} method.
> Reason:
> * Unicast messages _can_ be sent to non-members. This is in line with the design of UNICAST3, which allows for non-members as destinations of messages.
> * The {{msgs}} hashmap in {{BaseBundler}} will be emptied by the runner anyway, so we don't need to do housekeeping on that hashmap
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (JGRP-2324) TransferQueueBundler: view change must not purge messages to non-members
by Bela Ban (Jira)
[ https://issues.jboss.org/browse/JGRP-2324?page=com.atlassian.jira.plugin.... ]
Bela Ban updated JGRP-2324:
---------------------------
Description:
Currently, {{BaseBundler.viewChange()}} purges queued messages to non-members. This poses the following problem:
* Members A, B. The view is \{A,B\}
* A is coord and sends a LEAVE request to B
* B adds a LEAVE response (to A) to the TransferQueueBundler's queue and installs new view \{B\}
* If the LEAVE response to A is still in the TQB's queue and the new view is installed _before_ the message gets sent, the {{BaseBundler.viewChange()}} method _removes_ all queued messages to non-members, therefore the LEAVE response to A is removed
* As a result, A will never receive the LEAVE response and therefore run into {{GMS.leave_timeout}}!
This is aggravated by the fact that a LEAVE response is unreliable (flag={{NO_RELIABILITY}}), and therefore not retransmitted by UNICAST3.
Solution: remove the {{viewChange()}} method.
Reason:
* Unicast messages _can_ be sent to non-members. This is in line with the design of UNICAST3, which allows for non-members as destinations of messages.
* The {{msgs}} hashmap in {{BaseBundler}} will be emptied by the runner anyway, so we don't need to do housekeeping on that hashmap
was:
Currently, {{BaseBundler.viewChange()}} purges queued messages to non-members. This poses the following problem:
* Members A, B, view is \{A,B\}
* A is coord and sends a LEAVE request to B
* B adds a LEAVE response (to A) to the TransferQueueBundler's queue and installs new view \{B\}
* If the LEAVE response to A is still in the TQB's queue and the new view is installed before the message gets sent, the {{BaseBundler.viewChange()}} method _removes_ all queued messages to non-members, therefore the LEAVE response is removed
* As a result, A will never receive the LEAVE response and therefore run into {{GMS.leave_timeout}}!
> TransferQueueBundler: view change must not purge messages to non-members
> ------------------------------------------------------------------------
>
> Key: JGRP-2324
> URL: https://issues.jboss.org/browse/JGRP-2324
> Project: JGroups
> Issue Type: Bug
> Reporter: Bela Ban
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.0.16
>
>
> Currently, {{BaseBundler.viewChange()}} purges queued messages to non-members. This poses the following problem:
> * Members A, B. The view is \{A,B\}
> * A is coord and sends a LEAVE request to B
> * B adds a LEAVE response (to A) to the TransferQueueBundler's queue and installs new view \{B\}
> * If the LEAVE response to A is still in the TQB's queue and the new view is installed _before_ the message gets sent, the {{BaseBundler.viewChange()}} method _removes_ all queued messages to non-members, therefore the LEAVE response to A is removed
> * As a result, A will never receive the LEAVE response and therefore run into {{GMS.leave_timeout}}!
> This is aggravated by the fact that a LEAVE response is unreliable (flag={{NO_RELIABILITY}}), and therefore not retransmitted by UNICAST3.
> Solution: remove the {{viewChange()}} method.
> Reason:
> * Unicast messages _can_ be sent to non-members. This is in line with the design of UNICAST3, which allows for non-members as destinations of messages.
> * The {{msgs}} hashmap in {{BaseBundler}} will be emptied by the runner anyway, so we don't need to do housekeeping on that hashmap
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (JGRP-2324) TransferQueueBundler: view change must not purge messages to non-members
by Bela Ban (Jira)
Bela Ban created JGRP-2324:
------------------------------
Summary: TransferQueueBundler: view change must not purge messages to non-members
Key: JGRP-2324
URL: https://issues.jboss.org/browse/JGRP-2324
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 4.0.16
Currently, {{BaseBundler.viewChange()}} purges queued messages to non-members. This poses the following problem:
* Members A, B, view is \{A,B\}
* A is coord and sends a LEAVE request to B
* B adds a LEAVE response (to A) to the TransferQueueBundler's queue and installs new view \{B\}
* If the LEAVE response to A is still in the TQB's queue and the new view is installed before the message gets sent, the {{BaseBundler.viewChange()}} method _removes_ all queued messages to non-members, therefore the LEAVE response is removed
* As a result, A will never receive the LEAVE response and therefore run into {{GMS.leave_timeout}}!
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (DROOLS-3373) [DMN Designer] Need Palette glyph/icon and Canvas shape for Decision Service
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3373?page=com.atlassian.jira.plugi... ]
Michael Anstis updated DROOLS-3373:
-----------------------------------
Attachment: DecisionService-insitu.png
> [DMN Designer] Need Palette glyph/icon and Canvas shape for Decision Service
> ----------------------------------------------------------------------------
>
> Key: DROOLS-3373
> URL: https://issues.jboss.org/browse/DROOLS-3373
> Project: Drools
> Issue Type: Feature Request
> Components: DMN Editor
> Affects Versions: 7.15.0.Final
> Reporter: Michael Anstis
> Assignee: Michael Anstis
> Priority: Major
> Labels: VisualDesign, drools-tools, ux_needed, visualdesign
> Attachments: DMN_palette_icons.png, DecisionService-insitu.png, decision-service-expanded.svg, decision-service.svg, decision.svg, decision_palette.svg, decision_service_expanded_palette.svg, decision_service_palette.svg
>
>
> We need a new "Palette" icon and Canvas shape for "Decision Services".
> See Table 1: DRD components in the [DMN 1.2 Specification|https://www.omg.org/spec/DMN/1.2/Beta1/PDF].
> See also 6.2.5 Decision service for some narrative regarding the shape.
> {quote}
> A Decision Service is represented in a DRD as rectangle with rounded corners, drawn with a heavy solid border.... the Decision Service SHALL be divided into two parts with a straight solid line.
> {quote}
> We are currently adding support for the _expanded_ form however we will also require (at some stage) a Palette glyph/icon and Canvas shape for the _collapsed_ form too.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (DROOLS-3373) [DMN Designer] Need Palette glyph/icon and Canvas shape for Decision Service
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3373?page=com.atlassian.jira.plugi... ]
Michael Anstis commented on DROOLS-3373:
----------------------------------------
Hi [~bdellasc] thank-you for the updated files.
I've attached an image of the "Decision Service" node (on the Stunner graph). The strokes appear to be offset right and down.
The bottom right red circle is Stunner's "resize" control so should sit on the bottom-right of the SVG's bounding rectangle. Also the "dustbin" icon on the top-left should be on the top-left of the SVG. I'll be using the Decision Service SVG without the divider for the canvas (as we add it programmatically as it can be moved by the User). Finally, one last request could you make the Decision Service SVG 200x200 pixels by default (instead of 110x60)? The default size of a DS in the editor is 200x200 and it'll therefore render without scaling by default (and hence will look better..... ideally we want support in Stunner for the corners not to be scaled.. but it's not possible at the moment).
> [DMN Designer] Need Palette glyph/icon and Canvas shape for Decision Service
> ----------------------------------------------------------------------------
>
> Key: DROOLS-3373
> URL: https://issues.jboss.org/browse/DROOLS-3373
> Project: Drools
> Issue Type: Feature Request
> Components: DMN Editor
> Affects Versions: 7.15.0.Final
> Reporter: Michael Anstis
> Assignee: Michael Anstis
> Priority: Major
> Labels: VisualDesign, drools-tools, ux_needed, visualdesign
> Attachments: DMN_palette_icons.png, decision-service-expanded.svg, decision-service.svg, decision.svg, decision_palette.svg, decision_service_expanded_palette.svg, decision_service_palette.svg
>
>
> We need a new "Palette" icon and Canvas shape for "Decision Services".
> See Table 1: DRD components in the [DMN 1.2 Specification|https://www.omg.org/spec/DMN/1.2/Beta1/PDF].
> See also 6.2.5 Decision service for some narrative regarding the shape.
> {quote}
> A Decision Service is represented in a DRD as rectangle with rounded corners, drawn with a heavy solid border.... the Decision Service SHALL be divided into two parts with a straight solid line.
> {quote}
> We are currently adding support for the _expanded_ form however we will also require (at some stage) a Palette glyph/icon and Canvas shape for the _collapsed_ form too.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months