polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tibor Mlynarik <tibor.mlyna...@gmail.com>
Subject Re: JSONEntityState internal clone logic
Date Thu, 23 Jul 2015 16:31:27 GMT
Hi Paul,

I have prepared test case to demonstrate issue.
Problem is if there is enabled cache in json based entity store.
Entities could be in wrong state.

see here :

to make test success, fix :

    void cloneStateIfGlobalStateLoaded()
        if( ! isStateNotCloned() )

there is one more fix needed in JSONMapEntityStoreMixin#fetchCachedState method .

Note: I was not able to configure entity store with cache service in one layer ,
probably because of circular dependency: store uses cache, cache need store for config .



On Jul 23, 2015, at 1:49 PM, Paul Merlin <paul@nosphere.org> wrote:

> Hi Tibor,
> Tibor Mlynarik a écrit :
>> Hi,
>> I have noticed code in JSONEntityState that seems suspicious for me.
>> In method JSONEntityState#cloneStateIfGlobalStateLoaded
>> if parts are swapped.
>> I suppose that by global state is meant copy taken from cache that is shared across
>> And before first entity change own copy for UoW should be cloned.
>> But as it is now, cloning is not done at first change and redundantly executed with
each entity change.
>> Also maybe whole cloning could be avoided if cache is not used.
>> Or am I wrong in understanding of purpose of this state clone ?
> IIRC this is the sole purpose of this state clone.
> As you pointed out there may be room for improvements here.
> Niclas, WDYT?
> /Paul

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message