You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Edgaras (Jira)" <ji...@apache.org> on 2019/10/29 08:26:00 UTC

[jira] [Updated] (GEODE-7371) Listener overwriting class instances

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

Edgaras updated GEODE-7371:
---------------------------
    Description: 
I am having a similar issue to this:

https://issues.apache.org/jira/browse/GEODE-6152 

I have a listener and using this method to capture the object:
{quote}public override void AfterCreate(EntryEvent<TKey, TVal> ev)
{quote}
 

Then I create an new object and manualy fill it in:

DealValues dv = new DealValues();
{quote}DealValues dv = new DealValues();
 IPdxInstance pdx = (IPdxInstance)ev.NewValue;

dv.DealNo = (int)pdx.GetField("DealNo");
 ...
{quote}
 

After that, I instanciate a new class and pass in the dv object
{quote}new MakeDeal(dv);
{quote}
 

Inside MakeDeal, there are new sets of listeners created. Once everything is processed it stops listening and everything stops on that instance.

 

The problem:

The properties of 1st new MakeDeal are being overwriten by the 2nd object being droped and picked up at the top AfterCreate(EntryEvent<TKey, TVal> ev), which also does a new MakeDeal.

Things I tried:

setting cache copy-on-read="true"

_cache.CreateRegionFactory(RegionShortcut.PROXY); and CACHING_PROXY

Also am using v1.10.0 apache geode server and apachie geode native client in Windows.

 

on v.1.9 I tried multithreading and creating tasks, but that throws all sorts of memory errors inside listeners.

I just cant seperate these instances somehow.

And ofcourse, nothing is static in those instances. Help!

 

 

 

 

  was:
I am having a similar issue to this:

https://issues.apache.org/jira/browse/GEODE-6152?focusedCommentId=16710918&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16710918

 

I have a listener and using this method to capture the object:
{quote}public override void AfterCreate(EntryEvent<TKey, TVal> ev)
{quote}
 

Then I create an new object and manualy fill it in:

DealValues dv = new DealValues();
{quote}DealValues dv = new DealValues();
 IPdxInstance pdx = (IPdxInstance)ev.NewValue;

dv.DealNo = (int)pdx.GetField("DealNo");
...
{quote}
 

After that, I instanciate a new class and pass in the dv object
{quote}new MakeDeal(dv);
{quote}
 

Inside MakeDeal, there are new sets of listeners created. Once everything is processed it stops listening and everything stops on that instance.

 

The problem:

The properties of 1st new MakeDeal are being overwriten by the 2nd object being droped and picked up at the top AfterCreate(EntryEvent<TKey, TVal> ev), which also does a new MakeDeal.

Things I tried:

setting cache copy-on-read="true"

_cache.CreateRegionFactory(RegionShortcut.PROXY); and CACHING_PROXY

Also am using v1.10.0 apache geode server and apachie geode native client in Windows.

 

on v.1.9 I tried multithreading and creating tasks, but that throws all sorts of memory errors inside listeners.

I just cant seperate these instances somehow.

And ofcourse, nothing is static in those instances. Help!

 

 

 

 


> Listener overwriting class instances
> ------------------------------------
>
>                 Key: GEODE-7371
>                 URL: https://issues.apache.org/jira/browse/GEODE-7371
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Edgaras
>            Priority: Major
>             Fix For: 1.10.0
>
>
> I am having a similar issue to this:
> https://issues.apache.org/jira/browse/GEODE-6152 
> I have a listener and using this method to capture the object:
> {quote}public override void AfterCreate(EntryEvent<TKey, TVal> ev)
> {quote}
>  
> Then I create an new object and manualy fill it in:
> DealValues dv = new DealValues();
> {quote}DealValues dv = new DealValues();
>  IPdxInstance pdx = (IPdxInstance)ev.NewValue;
> dv.DealNo = (int)pdx.GetField("DealNo");
>  ...
> {quote}
>  
> After that, I instanciate a new class and pass in the dv object
> {quote}new MakeDeal(dv);
> {quote}
>  
> Inside MakeDeal, there are new sets of listeners created. Once everything is processed it stops listening and everything stops on that instance.
>  
> The problem:
> The properties of 1st new MakeDeal are being overwriten by the 2nd object being droped and picked up at the top AfterCreate(EntryEvent<TKey, TVal> ev), which also does a new MakeDeal.
> Things I tried:
> setting cache copy-on-read="true"
> _cache.CreateRegionFactory(RegionShortcut.PROXY); and CACHING_PROXY
> Also am using v1.10.0 apache geode server and apachie geode native client in Windows.
>  
> on v.1.9 I tried multithreading and creating tasks, but that throws all sorts of memory errors inside listeners.
> I just cant seperate these instances somehow.
> And ofcourse, nothing is static in those instances. Help!
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)