Hello Michael, On 06/24/2014 03:31 PM, Michael Raab wrote: > Recently we ran into some cluster sync problems that I do not really > unterstand. > We have a self implemented fieldcontainer class VDTRenderChannel (full > fcd is attached). This field container has a MField of Viewports to render. > I use the method editMFViews() to get access to this MField and to mark > it as changed to get sync to the servers. Locally everything works fine, > but beside the initial sync after creation, changes to that class and > especially to that MField are not synced to our servers. I tried to > debug that issue and these are my investigations: > - VDTRenderChannel::changed is never called > - stepping throw editMFViews() to editMField() into > registerChangedContainer() it seems that variable _pContainerChanges is > always present
hmm, looking at the places where this member variable is assigned, it gets reset when the ChangeList is cleared - do you ever clear yours? Does _pContainerChanges point to something sensible or is it simply != NULL, but pointing at garbage? > consequences: > * no entry for our fieldcontainer is placed to the changedStore > (may be the reason why it gets not synced), only in the > _uncommitedChanges list > *_pContainerChanges->bvUncommittedChanges = &_bvChanged is not called. In editMFViews() after the call to editMField() does the above hold, i.e. is _pContainerChanges->bvUncommittedChanges == &this->_bvChanged? > * when running commitChanges changed function is not called as > bvUncommittedChanges is not correct > I have no clue what may be the reason for the behavior. Maybe someone > can explain the change handling priciples in detail. The ChangeList servers two purposes: tracking fields that changed so that the affected container's ::changed() method can be called when the user calls commitChanges(). Additionally it continues to track (and accumulate) those fields until the ChangeList is explicitly cleared so that changes can be transmitted across the cluster (or in general applied to another Aspect). > Hope to get some help in short-term as we have some presentations the > next days where these features should work. If you add a call to ChangeList::dump() (say before sending it across the cluster) does your VDTRenderChannel show up in any of the lists dumped and how does that change over time? Cheers, Carsten ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users