performance issues

2016-06-16 Thread Pradeep Badiger
Hi,

I am trying to run the yardstick ignite benchmark test on my local VM having 8 
Cores and 16GB RAM. I could see that the performance of Optimistic PUT/GET is 
way low for a client-server mode than what I see when running within one single 
server (embedded mode). Also the performance degrades with 1 additional server 
node. Can someone help me to optimize this?

There was a blog where the author commented that the performance of the product 
is much similar when run in both client and server. Am I missing something here?

https://gridgain.blogspot.com/2015/04/benchmarking-data-grids-apache-ignite.html?showComment=1466104423051


Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


isolate/group ignite instances on same machine based on name

2016-06-18 Thread Pradeep Badiger
Hi,

Is there a way to isolate or group multiple ignite instances on the same 
machine based on names rather than ports?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: isolate/group ignite instances on same machine based on name

2016-06-23 Thread Pradeep Badiger
Thanks Denis.

From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Thursday, June 23, 2016 4:07 AM
To: user@ignite.apache.org
Subject: Re: isolate/group ignite instances on same machine based on name

Hi,

No, there is no way to isolate ignite instances by name. The name is just used 
for convenience by application code.
The isolation is achieved by using different configuration for communication 
and discovery SPIs as shown here
https://apacheignite.readme.io/v1.6/docs/cluster-config#isolated-ignite-clusters-on-the-same-set-of-machin

—
Denis

On Jun 19, 2016, at 2:21 AM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

Is there a way to isolate or group multiple ignite instances on the same 
machine based on names rather than ports?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.

This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: performance issues

2016-06-24 Thread Pradeep Badiger
Thanks Denis.

From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Friday, June 24, 2016 1:00 AM
To: user@ignite.apache.org
Subject: Re: performance issues

Hi Pradeep,

Member-member (server-server) performance is better than client-server one in 
the scenario because in the first case roughly a half of data will be stored on 
the server that executes the benchmark (meaning that there won’t be I/O at 
all). While in case with client-server case the client always has to send the 
data to a remote server.

In fact if you run more servers on different physical machines and start the 
benchmark using the client node the performance should be better rather with 
the configuration with less servers.

—
Denis

On Jun 22, 2016, at 6:06 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi Denis,

Thanks for your response. I ran the benchmark test on a single VM with 8 cores 
and 2Gb allocated to each server instance (member). All the tests were for 
optimistic transactions with no backup and with the default JVM settings in 
benchmark.properties. I see that the performance of client-member is lower than 
the member-member setup. The client was configured using –client in the 
benchmark.properties. I have attached the configuration for 1 client 1 server 
mode. I was trying to run it on a single server with no clients but I was not 
able to configure that in the benchmark test. I am not sure if it is worth to 
test that scenario, as all the calls would be local and latency would be lot 
less.

Please let me know if the member-member performance is lot better compared to 
client-member performance.

Clients

Servers

Threads

Latency (ms)

Min

Avg

Max

0

2

8

0.341

0.451

0.881

0

2

8

0.362

0.470

0.874

1

2

8

0.695

0.749

1.070

1

1

8

0.576

0.726

1.102


Thanks,
Pradeep V.B.

From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Thursday, June 16, 2016 6:46 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: performance issues

Hi,

In a single server mode (embedded) there is no I/O (networking) at all. All the 
requests are executed locally. When you use the client node you’ll have I/O 
delays. The performance here can depend on several factors:
- latency and throughput of your network;
- CPU saturation;

So take a look at these system resources usage.

Also make sure that there are no long GC pauses or that GC Threads don’t 
consume much of CPUs. Refer to this doc for JVM tuning settings
https://apacheignite.readme.io/docs/jvm-and-system-tuning

Finally, share your benchmark source and configuration for validation.

—
Denis

On Jun 16, 2016, at 11:04 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

I am trying to run the yardstick ignite benchmark test on my local VM having 8 
Cores and 16GB RAM. I could see that the performance of Optimistic PUT/GET is 
way low for a client-server mode than what I see when running within one single 
server (embedded mode). Also the performance degrades with 1 additional server 
node. Can someone help me to optimize this?

There was a blog where the author commented that the performance of the product 
is much similar when run in both client and server. Am I missing something here?

https://gridgain.blogspot.com/2015/04/benchmarking-data-grids-apache-ignite.html?showComment=1466104423051


Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.

This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it 
immediately.

This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


Evicted entry appears in Write-behind cache

2016-10-08 Thread Pradeep Badiger
Hi,

I am trying to evaluate Apache Ignite and trying to explore eviction policy and 
write behind features. I am seeing that whenever a cache is configured with 
eviction policy and write behind feature, the write behind cache always have 
all the changed entries including the ones that are evicted, before the write 
cache is flushed. But soon after it is flushed, the store loads again from DB. 
Is this the expected behavior? Is there a documentation on how the write behind 
cache works?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Evicted entry appears in Write-behind cache

2016-10-26 Thread Pradeep Badiger
Thanks Vladislav

From: Vladislav Pyatkov [mailto:vldpyat...@gmail.com]
Sent: Wednesday, October 26, 2016 5:08 AM
To: user@ignite.apache.org
Subject: Re: Evicted entry appears in Write-behind cache

Hi,

Yes, write behind buffer gets locks on entries which stores between loading to 
CacheStore. So that this entries cannot be evicted.

If "get" invocation can not find value in cache, it will try to get value from 
CacheStore.

On Fri, Oct 14, 2016 at 6:55 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
I have some log statements in the load() which gets called when there is no 
entry in the cache or write behind buffer. What I learnt is that there is a 
write behind buffer that holds on to the entries (even the evicted ones) and 
whenever there is a get() for an entry, ignite looks at both the cache and the 
write behind buffer and loads it. If it doesn’t find it in any of the two, it 
then uses the read through mechanism to load the entry from the store.

Thanks,
Pradeep V.B.

From: Vladislav Pyatkov 
[mailto:vpyat...@gridgain.com<mailto:vpyat...@gridgain.com>]
Sent: Friday, October 14, 2016 4:25 AM

To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi Paradeep,

Why are you think, what the entry could not be read through your persistence 
storage:

.setReadThrough(stateQoS.isReadThroughEnabled())

When cache can not get data from in memory, it will try to get data from 
storage, which configured as "ReadThrough".

On Thu, Oct 13, 2016 at 6:41 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi Vladislav,

Please see the below cache configuration.

 LruEvictionPolicy evictionPolicy = 
new LruEvictionPolicy<>(getIntProperty(envConfig, CACHE_SIZE, 1));
 cacheConfiguration

.setEvictionPolicy(evictionPolicy)

.setWriteBehindFlushSize(getIntProperty(envConfig, CACHE_WB_FLUSH_SIZE, 0))

.setWriteBehindBatchSize(getIntProperty(envConfig, CACHE_WB_BATCH_SIZE, 200))

.setWriteBehindEnabled(stateQoS.isWriteBehindEnabled())

.setWriteBehindFlushFrequency(getIntProperty(envConfig, CACHE_WB_FLUSH_FREQ_MS, 
5000))

.setWriteBehindFlushThreadCount(getIntProperty(envConfig, 
CACHE_WB_FLUSH_THREADS, 10))

.setCacheStoreFactory(new StateCacheStoreFactory<K, V>(cacheName,

  storageManager))
.setName(cacheName)

.setReadThrough(stateQoS.isReadThroughEnabled())

.setWriteThrough(stateQoS.isWriteThroughEnabled());

Thanks,
Pradeep V.B.

From: Vladislav Pyatkov 
[mailto:vldpyat...@gmail.com<mailto:vldpyat...@gmail.com>]
Sent: Wednesday, October 12, 2016 2:59 AM

To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi Pradeep,

Could you please provide cache configuration?

On Tue, Oct 11, 2016 at 6:57 PM, Denis Magda 
<dma...@gridgain.com<mailto:dma...@gridgain.com>> wrote:
Looks like that my initial understanding was wrong. There is a related 
discussion
http://apache-ignite-users.70518.x6.nabble.com/Cache-read-through-with-expiry-policy-td2521.html

—
Denis

On Oct 11, 2016, at 8:55 AM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi Denis,

I did the get() on the evicted entry from the cache, it still returned me the 
value without calling the load() on the store. As you said, the entry would be 
cached in the write behind store even for the evicted entry. Is that true?

Thanks,
Pradeep V.B.
From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Monday, October 10, 2016 9:13 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi,

How do you see that the evicted entries are still in the cache? If you check 
this by calling cache get like operations then entries can be loaded back from 
the write-behind store or from your underlying store.

—
Denis

On Oct 8, 2016, at 1:00 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

I am trying to evaluate Apache Ignite and trying to explore eviction policy 

RE: Evicted entry appears in Write-behind cache

2016-10-14 Thread Pradeep Badiger
I have some log statements in the load() which gets called when there is no 
entry in the cache or write behind buffer. What I learnt is that there is a 
write behind buffer that holds on to the entries (even the evicted ones) and 
whenever there is a get() for an entry, ignite looks at both the cache and the 
write behind buffer and loads it. If it doesn’t find it in any of the two, it 
then uses the read through mechanism to load the entry from the store.

Thanks,
Pradeep V.B.

From: Vladislav Pyatkov [mailto:vpyat...@gridgain.com]
Sent: Friday, October 14, 2016 4:25 AM
To: user@ignite.apache.org
Subject: Re: Evicted entry appears in Write-behind cache

Hi Paradeep,

Why are you think, what the entry could not be read through your persistence 
storage:

.setReadThrough(stateQoS.isReadThroughEnabled())

When cache can not get data from in memory, it will try to get data from 
storage, which configured as "ReadThrough".

On Thu, Oct 13, 2016 at 6:41 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi Vladislav,

Please see the below cache configuration.

 LruEvictionPolicy evictionPolicy = 
new LruEvictionPolicy<>(getIntProperty(envConfig, CACHE_SIZE, 1));
 cacheConfiguration

.setEvictionPolicy(evictionPolicy)

.setWriteBehindFlushSize(getIntProperty(envConfig, CACHE_WB_FLUSH_SIZE, 0))

.setWriteBehindBatchSize(getIntProperty(envConfig, CACHE_WB_BATCH_SIZE, 200))

.setWriteBehindEnabled(stateQoS.isWriteBehindEnabled())

.setWriteBehindFlushFrequency(getIntProperty(envConfig, CACHE_WB_FLUSH_FREQ_MS, 
5000))

.setWriteBehindFlushThreadCount(getIntProperty(envConfig, 
CACHE_WB_FLUSH_THREADS, 10))

.setCacheStoreFactory(new StateCacheStoreFactory<K, V>(cacheName,

  storageManager))
.setName(cacheName)

.setReadThrough(stateQoS.isReadThroughEnabled())

.setWriteThrough(stateQoS.isWriteThroughEnabled());

Thanks,
Pradeep V.B.

From: Vladislav Pyatkov 
[mailto:vldpyat...@gmail.com<mailto:vldpyat...@gmail.com>]
Sent: Wednesday, October 12, 2016 2:59 AM

To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi Pradeep,

Could you please provide cache configuration?

On Tue, Oct 11, 2016 at 6:57 PM, Denis Magda 
<dma...@gridgain.com<mailto:dma...@gridgain.com>> wrote:
Looks like that my initial understanding was wrong. There is a related 
discussion
http://apache-ignite-users.70518.x6.nabble.com/Cache-read-through-with-expiry-policy-td2521.html

—
Denis

On Oct 11, 2016, at 8:55 AM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi Denis,

I did the get() on the evicted entry from the cache, it still returned me the 
value without calling the load() on the store. As you said, the entry would be 
cached in the write behind store even for the evicted entry. Is that true?

Thanks,
Pradeep V.B.
From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Monday, October 10, 2016 9:13 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi,

How do you see that the evicted entries are still in the cache? If you check 
this by calling cache get like operations then entries can be loaded back from 
the write-behind store or from your underlying store.

—
Denis

On Oct 8, 2016, at 1:00 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

I am trying to evaluate Apache Ignite and trying to explore eviction policy and 
write behind features. I am seeing that whenever a cache is configured with 
eviction policy and write behind feature, the write behind cache always have 
all the changed entries including the ones that are evicted, before the write 
cache is flushed. But soon after it is flushed, the store loads again from DB. 
Is this the expected behavior? Is there a documentation on how the write behind 
cache works?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error plea

RE: Evicted entry appears in Write-behind cache

2016-10-11 Thread Pradeep Badiger
Hi Denis,

I did the get() on the evicted entry from the cache, it still returned me the 
value without calling the load() on the store. As you said, the entry would be 
cached in the write behind store even for the evicted entry. Is that true?

Thanks,
Pradeep V.B.
From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Monday, October 10, 2016 9:13 PM
To: user@ignite.apache.org
Subject: Re: Evicted entry appears in Write-behind cache

Hi,

How do you see that the evicted entries are still in the cache? If you check 
this by calling cache get like operations then entries can be loaded back from 
the write-behind store or from your underlying store.

—
Denis

On Oct 8, 2016, at 1:00 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

I am trying to evaluate Apache Ignite and trying to explore eviction policy and 
write behind features. I am seeing that whenever a cache is configured with 
eviction policy and write behind feature, the write behind cache always have 
all the changed entries including the ones that are evicted, before the write 
cache is flushed. But soon after it is flushed, the store loads again from DB. 
Is this the expected behavior? Is there a documentation on how the write behind 
cache works?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.

This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Evicted entry appears in Write-behind cache

2016-10-13 Thread Pradeep Badiger
Hi Vladislav,

Please see the below cache configuration.

 LruEvictionPolicy evictionPolicy = 
new LruEvictionPolicy<>(getIntProperty(envConfig, CACHE_SIZE, 1));
 cacheConfiguration

.setEvictionPolicy(evictionPolicy)

.setWriteBehindFlushSize(getIntProperty(envConfig, CACHE_WB_FLUSH_SIZE, 0))

.setWriteBehindBatchSize(getIntProperty(envConfig, CACHE_WB_BATCH_SIZE, 200))

.setWriteBehindEnabled(stateQoS.isWriteBehindEnabled())

.setWriteBehindFlushFrequency(getIntProperty(envConfig, CACHE_WB_FLUSH_FREQ_MS, 
5000))

.setWriteBehindFlushThreadCount(getIntProperty(envConfig, 
CACHE_WB_FLUSH_THREADS, 10))

.setCacheStoreFactory(new StateCacheStoreFactory<K, V>(cacheName,

  storageManager))
.setName(cacheName)

.setReadThrough(stateQoS.isReadThroughEnabled())

.setWriteThrough(stateQoS.isWriteThroughEnabled());

Thanks,
Pradeep V.B.

From: Vladislav Pyatkov [mailto:vldpyat...@gmail.com]
Sent: Wednesday, October 12, 2016 2:59 AM
To: user@ignite.apache.org
Subject: Re: Evicted entry appears in Write-behind cache

Hi Pradeep,

Could you please provide cache configuration?

On Tue, Oct 11, 2016 at 6:57 PM, Denis Magda 
<dma...@gridgain.com<mailto:dma...@gridgain.com>> wrote:
Looks like that my initial understanding was wrong. There is a related 
discussion
http://apache-ignite-users.70518.x6.nabble.com/Cache-read-through-with-expiry-policy-td2521.html

—
Denis

On Oct 11, 2016, at 8:55 AM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi Denis,

I did the get() on the evicted entry from the cache, it still returned me the 
value without calling the load() on the store. As you said, the entry would be 
cached in the write behind store even for the evicted entry. Is that true?

Thanks,
Pradeep V.B.
From: Denis Magda [mailto:dma...@gridgain.com]
Sent: Monday, October 10, 2016 9:13 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Evicted entry appears in Write-behind cache

Hi,

How do you see that the evicted entries are still in the cache? If you check 
this by calling cache get like operations then entries can be loaded back from 
the write-behind store or from your underlying store.

—
Denis

On Oct 8, 2016, at 1:00 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:

Hi,

I am trying to evaluate Apache Ignite and trying to explore eviction policy and 
write behind features. I am seeing that whenever a cache is configured with 
eviction policy and write behind feature, the write behind cache always have 
all the changed entries including the ones that are evicted, before the write 
cache is flushed. But soon after it is flushed, the store loads again from DB. 
Is this the expected behavior? Is there a documentation on how the write behind 
cache works?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.

This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.




--
Vladislav Pyatkov
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Improve performance of ignite cluster

2016-10-14 Thread Pradeep Badiger
No, I mean I have one ignite instance running in one JVM and there are several 
application JVMs that have one embedded instance on each of them and they all 
talk to each other.

From: Alexey Kuznetsov [mailto:akuznet...@apache.org]
Sent: Friday, October 14, 2016 12:20 PM
To: user@ignite.apache.org
Subject: Re: Improve performance of ignite cluster

Hi Pradeep,

Why did you start several Ignite instances in one JVM?
AFAIK it is recommended only for testing.
In production it is recommended to start separate JVMs.

On Fri, Oct 14, 2016 at 11:01 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi,

I am seeing a big drop in performance when more two or more ignite instances 
embedded within JVMs form a cluster. The throughput I get is 1/10 of what I 
used to get when working with only one embedded ignite instance inside the 
application.

Can anyone help me in tuning this thing?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.



--
Alexey Kuznetsov
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Improve performance of ignite cluster

2016-10-14 Thread Pradeep Badiger
Thanks Andrey.

From: Andrey Kornev [mailto:andrewkor...@hotmail.com]
Sent: Friday, October 14, 2016 12:45 PM
To: user@ignite.apache.org
Subject: Re: Improve performance of ignite cluster


Pradeep,



Even though you did not provide any details on how you measure the throughout, 
I think the drop is expected. It is because as soon as a second (and the third 
and so on) node joins the Ignite cluster, most of Ignite operations become 
distributed and involve remote calls.



There are ways to minimize the performance impact -- for example, ensuring that 
the processing is colocated with the data to be processed as opposed to bring 
the data to a single processing node, etc -- but in all cases it's very 
application specific.



Regards

Andrey


From: Pradeep Badiger <pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>>
Sent: Friday, October 14, 2016 9:23 AM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: RE: Improve performance of ignite cluster

No, I mean I have one ignite instance running in one JVM and there are several 
application JVMs that have one embedded instance on each of them and they all 
talk to each other.

From: Alexey Kuznetsov [mailto:akuznet...@apache.org]
Sent: Friday, October 14, 2016 12:20 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Improve performance of ignite cluster

Hi Pradeep,

Why did you start several Ignite instances in one JVM?
AFAIK it is recommended only for testing.
In production it is recommended to start separate JVMs.

On Fri, Oct 14, 2016 at 11:01 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi,

I am seeing a big drop in performance when more two or more ignite instances 
embedded within JVMs form a cluster. The throughput I get is 1/10 of what I 
used to get when working with only one embedded ignite instance inside the 
application.

Can anyone help me in tuning this thing?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.



--
Alexey Kuznetsov
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


Binary Marshalling issue

2016-12-16 Thread Pradeep Badiger
Hi,

I have an application which uses apache ignite cache in an embedded mode. On 
each GC cycle, I am seeing lot of memory getting retained. Cache has around 10K 
entries and each entry is an object containing a map of 500 entries. The key 
and value in the map within an object is string of less than 20 bytes.

I see lot of time spent during the marshalling process when the cache entry is 
made.

Does ignite generate lot of short lived objects during the marshalling process? 
What would cause lot of memory to be retained during each GC cycle?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Binary Marshalling issue

2016-12-16 Thread Pradeep Badiger
Hi Andrey,

Thanks for your response. Is there a way I can disable it or reduce it? Do I 
need to use BinaryObject?

Thanks,
Pradeep V.B.

From: Andrey Mashenkov [mailto:andrey.mashen...@gmail.com]
Sent: Friday, December 16, 2016 9:41 AM
To: user@ignite.apache.org
Subject: Re: Binary Marshalling issue

Hi

As I understand you have many short-lived Maps as values in cache.
Yes, in your case, you can get a lot of garbage due to Map will be 
marshal\unmarshal along with each of its content at every cache entry access.

On Fri, Dec 16, 2016 at 4:26 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi,

I have an application which uses apache ignite cache in an embedded mode. On 
each GC cycle, I am seeing lot of memory getting retained. Cache has around 10K 
entries and each entry is an object containing a map of 500 entries. The key 
and value in the map within an object is string of less than 20 bytes.

I see lot of time spent during the marshalling process when the cache entry is 
made.

Does ignite generate lot of short lived objects during the marshalling process? 
What would cause lot of memory to be retained during each GC cycle?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.



--
С уважением,
Машенков Андрей Владимирович
Тел. +7-921-932-61-82

Best regards,
Andrey V. Mashenkov
Cerr: +7-921-932-61-82
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: Binary Marshalling issue

2016-12-16 Thread Pradeep Badiger
Thanks Andrey.

From: Andrey Mashenkov [mailto:andrey.mashen...@gmail.com]
Sent: Friday, December 16, 2016 11:30 AM
To: user@ignite.apache.org
Subject: Re: Binary Marshalling issue

Hi,

Unfortunatelly ignite does not support keepBinary option for Maps [1].
Best way is try to avoid using short-lived Maps.

But you can try to implementation of BinaryObject that implements 
Externalizable interface where you will free to choose the way to access map 
entries.
For example, such implementation can have BinaryObject.field() method with same 
semantic as Map.get() method.

[1] 
http://apacheignite.gridgain.org/docs/binary-marshaller#binaryobject-cache-api

On Fri, Dec 16, 2016 at 5:48 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi Andrey,

Thanks for your response. Is there a way I can disable it or reduce it? Do I 
need to use BinaryObject?

Thanks,
Pradeep V.B.

From: Andrey Mashenkov 
[mailto:andrey.mashen...@gmail.com<mailto:andrey.mashen...@gmail.com>]
Sent: Friday, December 16, 2016 9:41 AM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Binary Marshalling issue

Hi

As I understand you have many short-lived Maps as values in cache.
Yes, in your case, you can get a lot of garbage due to Map will be 
marshal\unmarshal along with each of its content at every cache entry access.

On Fri, Dec 16, 2016 at 4:26 PM, Pradeep Badiger 
<pradeepbadi...@fico.com<mailto:pradeepbadi...@fico.com>> wrote:
Hi,

I have an application which uses apache ignite cache in an embedded mode. On 
each GC cycle, I am seeing lot of memory getting retained. Cache has around 10K 
entries and each entry is an object containing a map of 500 entries. The key 
and value in the map within an object is string of less than 20 bytes.

I see lot of time spent during the marshalling process when the cache entry is 
made.

Does ignite generate lot of short lived objects during the marshalling process? 
What would cause lot of memory to be retained during each GC cycle?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.



--
С уважением,
Машенков Андрей Владимирович
Тел. +7-921-932-61-82

Best regards,
Andrey V. Mashenkov
Cerr: +7-921-932-61-82
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.



--
С уважением,
Машенков Андрей Владимирович
Тел. +7-921-932-61-82

Best regards,
Andrey V. Mashenkov
Cerr: +7-921-932-61-82
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


RE: OOM Issue with Eviction Event listener - Ignite 1.9.0

2017-05-01 Thread Pradeep Badiger
Hi Andrey,

I tried with -Xmx3072m -Xmx3072m and I still get OOM. If I try with 4GB heap 
setting then it works with GC running continuously. With 8GB, it works without 
any issues.

Is it just that it needs more heap to perform unmarshalling and give the 
evicted entry to the listener?

[15:33:08] Ignite node started OK (id=3a14ca7d, 
grid=IgniteWithCacheEvictListener)
[15:33:08] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=3.0GB]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236)
at java.lang.StringCoding.safeTrim(StringCoding.java:79)
at java.lang.StringCoding.encode(StringCoding.java:365)
at java.lang.String.getBytes(String.java:941)
at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteString(BinaryWriterExImpl.java:435)
at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.writeStringField(BinaryWriterExImpl.java:1102)
at 
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.write(BinaryFieldAccessor.java:506)
at 
org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:784)
at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:206)
at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
at 
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:239)
at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.marshalToBinary(CacheObjectBinaryProcessorImpl.java:521)
at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.toBinary(CacheObjectBinaryProcessorImpl.java:914)
at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.toCacheObject(CacheObjectBinaryProcessorImpl.java:859)
at 
org.apache.ignite.internal.processors.cache.GridCacheContext.toCacheObject(GridCacheContext.java:1792)
at 
org.apache.ignite.internal.processors.cache.local.atomic.GridLocalAtomicCache.updateAllInternal(GridLocalAtomicCache.java:834)
at 
org.apache.ignite.internal.processors.cache.local.atomic.GridLocalAtomicCache.put0(GridLocalAtomicCache.java:147)
at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2276)
at 
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2253)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1375)
at 
com.example.IgniteWithCacheEvictListener.main(IgniteWithCacheEvictListener.java:63)

-Original Message-
From: Andrey Gura [mailto:ag...@apache.org]
Sent: Monday, May 01, 2017 11:34 AM
To: user@ignite.apache.org
Subject: Re: OOM Issue with Eviction Event listener - Ignite 1.9.0

Hi,

Listener just lead to additional Event objects instantiation. You should give 
more memory for your Java process.

On Mon, May 1, 2017 at 5:54 PM, Pradeep Badiger <pradeepbadi...@fico.com> wrote:
> Hi,
>
>
>
> I am facing an OOM Exception when eviction policy is turned on. I have
> attached an eclipse project that has two test programs. One is set
> with eviction event listener and another one is not.
>
>
>
> The test program with eviction listener throws an OOM error almost
> immediately after the ignite is initialized. The one without the
> listener works fine.
>
>
>
> I ran both the test programs with –Xmx512m –Xms512m.
>
>
>
> Can someone let me know if there are any issues with my configurations?
>
>
>
> Thanks,
>
> Pradeep V.B.
>
> This email and any files transmitted with it are confidential,
> proprietary and intended solely for the individual or entity to whom they are 
> addressed.
> If you have received this email in error please delete it immediately.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


cache closed or destroyed issue

2017-10-26 Thread Pradeep Badiger
Hi,

We are facing an issue with Ignite cache where it throws an 
IllegalArgumentException with Cache closed or destroyed.

I have two java applications that start the ignite cache in an embedded mode. 
The cache instances form a cache cluster with the help of zookeeper plugin for 
discovery.

The cache is partitioned. I don't think there is any memory related issues 
within two applications.

I have few entries in the cache. But after sometime, if I try to get an entry 
from the cache in the application, I get an exception with cache closed or 
destroyed.

I am not sure what would cause this issue.

I found this issue in jira. I am not sure if this is applicable for 1.7.0.

https://issues.apache.org/jira/browse/IGNITE-2766

Can someone help me with this?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


Issue with serialization data security - 2.5.0

2020-09-09 Thread Pradeep Badiger
Hi,

We are running into an issue with serialization security in Ignite 2.5.0 with 
whitelisting enabled. We start the cache inside an application in embedded 
mode. The cache is partitioned with read through/write behind enabled. I am 
getting the below exception while working with the cache. Note that this does 
not happen always.

2020-08-04 14:05:38.482 [sys-#41] ERROR 
ignite.internal.processors.continuous.GridContinuousProcessor - Failed to 
process message (ignoring): GridContinuousMessage [type=MSG_EVT_NOTIFICATION, 
routineId=e6f15316-b9c4-4316-878f-188401f64acf, data=null, futId=null]
org.apache.ignite.IgniteCheckedException: Deserialization of class 
org.apache.ignite.util.deque.FastSizeDeque is disallowed.
   at 
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9968) 
[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$7.onMessage(GridContinuousProcessor.java:266)
 [dmipDPC.jar:?]
   at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
 [dmipDPC.jar:?]
   at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
 [dmipDPC.jar:?]
   at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
 [dmipDPC.jar:?]
   at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
 [dmipDPC.jar:?]
   at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_231]
   at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_231]
   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_231]
Caused by: java.lang.RuntimeException: Deserialization of class 
org.apache.ignite.util.deque.FastSizeDeque is disallowed.
   at 
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8606) 
~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
 ~[dmipDPC.jar:?]
   at 
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9962) 
[dmipDPC.jar:?]
   ... 8 more

I looked at org.apache.ignite.internal.IgniteKernal#classWhiteList and it loads 
the META-INF/classnames.txt and META-INF/classnames-jdk.txt files before 
loading the user configured whitelist classes file. I don't see the mention of 
org.apache.ignite.util.deque.FastSizeDeque class in the META-INF/classnames.txt 
file. Is this a bug within Ignite?

Thanks,
Pradeep V.B.
This email and any files transmitted with it are confidential, proprietary and 
intended solely for the individual or entity to whom they are addressed. If you 
have received this email in error please delete it immediately.


Ignite 2.7.0 Off-heap evictions and replace()

2023-08-30 Thread Pradeep Badiger
Hi,

We are using Apache Ignite 2.7.0 with the following setup

1. on-heap enabled
2. native persistence disabled
3. loading cache working with a database with write behind.
4. Random2LRU for off-heap evictions

We are seeing that call to the replace() on a key returns false even though
that was very recently updated and was available before the replace() was
called. We found that entry gets evicted from off-heap right before the
replace() is called causing it to fail.

What is the expected behavior in this case? Since we are using a loading
cache, is it not supposed to load it from the store during the replace()
call? Why does that get evicted from off-heap?

thanks,
Pradeep V.B.