<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Hi Carsten,</div>
<div><br/>
>hmm, looking at the places where this member variable is assigned, it<br/>
>gets reset when the ChangeList is cleared - do you ever clear yours?<br/>
>Does _pContainerChanges point to something sensible or is it simply !=<br/>
>NULL, but pointing at garbage?</div>
<div> </div>
<div>Seems to be reasonable; Is definitely not NULL;</div>
<div>What I saw was that uiEntryDesc was set to 'AddReference', which makes not much sense there or?</div>
<div>
<div> </div>
<div>I did not find any place where this member variable gets reset; Could you point me there?</div>
<div> </div>
<div>I call Thread::getCurrentChangeList()->clear(); after each frame..</div>
<div> </div>
<div>> In editMFViews() after the call to editMField() does the above hold,<br/>
> i.e. is _pContainerChanges->bvUncommittedChanges == &this->_bvChanged?</div>
<div> </div>
<div>_pContainerChanges->bvUncommittedChanges is NULL while &this->_bvChanged has some value...</div>
<div> </div>
<div>> If you add a call to ChangeList::dump() (say before sending it across<br/>
> the cluster) does your VDTRenderChannel show up in any of the lists<br/>
> dumped and how does that change over time?</div>
<div> </div>
<div>I already did this. I can see some AddRef/SubRefs and exactly one 'Changed' state, but this is directly after creation...</div>
<div> </div>
<div>Thanks,</div>
<div>Michael</div>
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div style="margin: 0 0 10.0px 0;"><b>Gesendet:</b> Dienstag, 24. Juni 2014 um 16:54 Uhr<br/>
<b>Von:</b> "Carsten Neumann" <***@gmail.com><br/>
<b>An:</b> opensg-***@lists.sourceforge.net<br/>
<b>Betreff:</b> Re: [Opensg-users] OpenSG2.0: Changelist problems</div>
<div>Hello Michael,<br/>
<br/>
On 06/24/2014 03:31 PM, Michael Raab wrote:<br/>
> Recently we ran into some cluster sync problems that I do not really<br/>
> unterstand.<br/>
> We have a self implemented fieldcontainer class VDTRenderChannel (full<br/>
> fcd is attached). This field container has a MField of Viewports to render.<br/>
> I use the method editMFViews() to get access to this MField and to mark<br/>
> it as changed to get sync to the servers. Locally everything works fine,<br/>
> but beside the initial sync after creation, changes to that class and<br/>
> especially to that MField are not synced to our servers. I tried to<br/>
> debug that issue and these are my investigations:<br/>
> - VDTRenderChannel::changed is never called<br/>
> - stepping throw editMFViews() to editMField() into<br/>
> registerChangedContainer() it seems that variable _pContainerChanges is<br/>
> always present<br/>
<br/>
hmm, looking at the places where this member variable is assigned, it<br/>
gets reset when the ChangeList is cleared - do you ever clear yours?<br/>
Does _pContainerChanges point to something sensible or is it simply !=<br/>
NULL, but pointing at garbage?<br/>
<br/>
> consequences:<br/>
> * no entry for our fieldcontainer is placed to the changedStore<br/>
> (may be the reason why it gets not synced), only in the<br/>
> _uncommitedChanges list<br/>
> *_pContainerChanges->bvUncommittedChanges = &_bvChanged is not called.<br/>
<br/>
In editMFViews() after the call to editMField() does the above hold,<br/>
i.e. is _pContainerChanges->bvUncommittedChanges == &this->_bvChanged?<br/>
<br/>
> * when running commitChanges changed function is not called as<br/>
> bvUncommittedChanges is not correct<br/>
> I have no clue what may be the reason for the behavior. Maybe someone<br/>
> can explain the change handling priciples in detail.<br/>
<br/>
The ChangeList servers two purposes: tracking fields that changed so<br/>
that the affected container's ::changed() method can be called when the<br/>
user calls commitChanges(). Additionally it continues to track (and<br/>
accumulate) those fields until the ChangeList is explicitly cleared so<br/>
that changes can be transmitted across the cluster (or in general<br/>
applied to another Aspect).<br/>
<br/>
> Hope to get some help in short-term as we have some presentations the<br/>
> next days where these features should work.<br/>
<br/>
If you add a call to ChangeList::dump() (say before sending it across<br/>
the cluster) does your VDTRenderChannel show up in any of the lists<br/>
dumped and how does that change over time?<br/>
<br/>
Cheers,<br/>
Carsten<br/>
<br/>
------------------------------------------------------------------------------<br/>
Open source business process management suite built on Java and Eclipse<br/>
Turn processes into business applications with Bonita BPM Community Edition<br/>
Quickly connect people, data, and systems into organized workflows<br/>
Winner of BOSSIE, CODIE, OW2 and Gartner awards<br/>
<a href="http://p.sf.net/sfu/Bonitasoft" target="_blank">http://p.sf.net/sfu/Bonitasoft</a><br/>
_______________________________________________<br/>
Opensg-users mailing list<br/>
Opensg-***@lists.sourceforge.net<br/>
<a href="https://lists.sourceforge.net/lists/listinfo/opensg-users" target="_blank">https://lists.sourceforge.net/lists/listinfo/opensg-users</a></div>
</div>
</div>
</div></div></body></html>