[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2608) Variable Persistence Overwrites NULL Values over Persisted Values

Anatoly Polinsky (JIRA) jira-events at lists.jboss.org
Mon Aug 16 11:29:12 EDT 2010


    [ https://jira.jboss.org/browse/JBRULES-2608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12545184#action_12545184 ] 

Anatoly Polinsky commented on JBRULES-2608:
-------------------------------------------

@Mauricio,

    "if you remove the out mapping from the second work item it should work": it did the trick. 

     I retested this last week, but was waiting from one of my dev leads to regression test their stream. It works for them as well.

Thank you Mauricio,
/Anatoly

> Variable Persistence Overwrites NULL Values over Persisted Values
> -----------------------------------------------------------------
>
>                 Key: JBRULES-2608
>                 URL: https://jira.jboss.org/browse/JBRULES-2608
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: All
>    Affects Versions: 5.1.0.FINAL
>         Environment: N/A
>            Reporter: Anatoly Polinsky
>            Assignee: Mauricio Salatino
>             Fix For: 5.1.0.FINAL
>
>         Attachments: difference-between-first-and-second-work-item.png, drools-vp-jira.zip, passing-list-process-test.png, passing-list-process.png
>
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> Drools Flow
> =========
>    For non-String variables (Serializ..ble, Entities, etc..), Drools overwrites NULLs when a (JPA) process is resumed ( a workitem is completed ).
>    1. Here is a use case: a List ( ArrayList ) is passed to the process in start as a parameter 
>    2. First work item sees ( maps in ) the List, and can work with it inside the work item handler
>    3. First work item does not complete: process goes to sleep.
>    4. When the session is reloaded, the first work item is completed
>    5. All the persisted variables ( including the "list" ) are restored
>    6. Second work item is taking in the list ( it maps in )
>    7. However at this point it is NULL
>    It seems that when the context is closed, after resolving variables, the following (WorkItemNodeInstance):
>             VariableScopeInstance variableScopeInstance = ( VariableScopeInstance )
>                     resolveContextInstance( VariableScope.VARIABLE_SCOPE, mapping.getValue() );
>     does no longer have the restored variables, and rather NULLs, since internally variables are compared with a "result map" that was passed to the previous work item.
>     This means that persisted variables are restored internally, but then overwritten internally by NULLs.
> /Anatoly

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list