You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Dave Thompson (JIRA)" <ji...@apache.org> on 2018/10/08 14:01:00 UTC

[jira] [Closed] (DAFFODIL-1985) beforeState in sequences prevents streaming behavior in I/O layer

     [ https://issues.apache.org/jira/browse/DAFFODIL-1985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dave Thompson closed DAFFODIL-1985.
-----------------------------------

Pulled latest updates from incubator-daffodil repository which included specified commit, 73d071750b7b484e010cb357f226b93de2f4439a.

Verified daffodil builds, generates saved parsers and executes all sbt tests.

Verified changes specified in the commit comment by code review.

All nightly tests also executed successfully.

Successfully performed streaming tests on several data formats.

Executed several long duration streaming tests without issue.

> beforeState in sequences  prevents streaming behavior in I/O layer
> ------------------------------------------------------------------
>
>                 Key: DAFFODIL-1985
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1985
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Back End
>    Affects Versions: 2.2.0
>            Reporter: Michael Beckerle
>            Assignee: Dave Thompson
>            Priority: Major
>             Fix For: 2.2.0
>
>
> The refactoring/rewrite of sequences used two saved states for arrays with Points of uncertainty, a beforeState at the very start of the array, and a priorState which the state prior to the current attempt to parse an occurrance. 
> In a  code review it was observed that this beforeState prevents streaming by holding onto the I/O layer mark state for the entire array. 
> Arguably, the beforeState is not only unnecessary, but incorrect. Arrays don't need a PoU before the entire array that doesn't advance when occurrences are found. If the array is determined to exist, because at least one occurrence exists, then failure of the entire array causes the enclosing PoU to be determined, not an artificial one created at the start of the array. 
> Remove beforeState to fix. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)