[JBoss JIRA] (ISPN-6706) Purging cache writers is [mostly] redundant when eviction is disabled and preload is enabled
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-6706?page=com.atlassian.jira.plugin.... ]
William Burns commented on ISPN-6706:
-------------------------------------
Rereading what you wrote, I more understand your case. I would like to ask some more information though.
You said the cluster is pausing due to the purge, this seems problematic of itself. The purge shouldn't stop other concurrent operations and in most cases it will be very heavily IO bound so it shouldn't be taking up CPU. How did the pause adversely affect your test? Can you also provide your configuration?
> Purging cache writers is [mostly] redundant when eviction is disabled and preload is enabled
> --------------------------------------------------------------------------------------------
>
> Key: ISPN-6706
> URL: https://issues.jboss.org/browse/ISPN-6706
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Affects Versions: 8.2.2.Final
> Reporter: Krzysztof Sobolewski
>
> This issue arised when I was testing a cluster with about 16 million entries. Our configuration is that all the data is also kept in memory, so eviction is disabled in this cache. But expiration is enabled. During the test I noticed pauses that started small but increased while the test was progressing, reaching more than 20 seconds at one point. After ruling out maintenance tasks in MySQL that could interfere, I discovered that the pause is caused by the expiration thread purging the database for expired entries. This was a huge and unnecessary drag so I hacked Infinispan to skip the purge of persistent state in cases when it's likely to be redundant with purging the transient state. I say "likely" because entries evicted maually via the evict() call poke a huge hole in the underlying assumptions :) Anyway, our cluster no longer regularly pauses for half a minute, so here's something for your consideration.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (ISPN-6706) Purging cache writers is [mostly] redundant when eviction is disabled and preload is enabled
by Krzysztof Sobolewski (JIRA)
[ https://issues.jboss.org/browse/ISPN-6706?page=com.atlassian.jira.plugin.... ]
Krzysztof Sobolewski commented on ISPN-6706:
--------------------------------------------
[~wburns] says:
> Unfortunately CacheWriter purge isn't related to eviction. This is to remove entries that have expired. Expiration can be configured both via xml and inserted programatically. Due to the latter we have to always call the purge method. It is feasible to keep state on the writer such as a boolean to trigger if any entry has ever been able to expire and it not then skip purge.
I know that expiration is not the same as eviction, I'm not cofusing these two :) This simple change works for my use case and I know it's not general solution. But I think the optimization is important - the expiration purge really puts a heavy load on the database!
> Purging cache writers is [mostly] redundant when eviction is disabled and preload is enabled
> --------------------------------------------------------------------------------------------
>
> Key: ISPN-6706
> URL: https://issues.jboss.org/browse/ISPN-6706
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Affects Versions: 8.2.2.Final
> Reporter: Krzysztof Sobolewski
>
> This issue arised when I was testing a cluster with about 16 million entries. Our configuration is that all the data is also kept in memory, so eviction is disabled in this cache. But expiration is enabled. During the test I noticed pauses that started small but increased while the test was progressing, reaching more than 20 seconds at one point. After ruling out maintenance tasks in MySQL that could interfere, I discovered that the pause is caused by the expiration thread purging the database for expired entries. This was a huge and unnecessary drag so I hacked Infinispan to skip the purge of persistent state in cases when it's likely to be redundant with purging the transient state. I say "likely" because entries evicted maually via the evict() call poke a huge hole in the underlying assumptions :) Anyway, our cluster no longer regularly pauses for half a minute, so here's something for your consideration.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (ISPN-6702) ClientEventsOOMTest hangs the TRACE build
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-6702?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-6702:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 8.2.3.Final
Resolution: Done
Integrated in master and backported to 8.2.x too. Thanks [~dan.berindei]!
> ClientEventsOOMTest hangs the TRACE build
> -----------------------------------------
>
> Key: ISPN-6702
> URL: https://issues.jboss.org/browse/ISPN-6702
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Server
> Affects Versions: 9.0.0.Alpha2
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Labels: testsuite_stability
> Fix For: 9.0.0.Alpha3, 8.2.3.Final
>
>
> {{ClientEventsOOMTest}} very often causes an {{OutOfMemoryError}} in the TRACE build in CI. Because the test waits for events without a timeout, this hangs the build forever.
> For some reason, Maven and/or TeamCity aren't able to stop the forked Surefire JVM either, and it hangs around forever, causing {{java.net.BindException: Address already in use}} failures in future builds.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (ISPN-6709) ClientEventsOOMTest hangs the TRACE build
by Dan Berindei (JIRA)
Dan Berindei created ISPN-6709:
----------------------------------
Summary: ClientEventsOOMTest hangs the TRACE build
Key: ISPN-6709
URL: https://issues.jboss.org/browse/ISPN-6709
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Server
Affects Versions: 9.0.0.Alpha2
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.0.0.Alpha3
{{ClientEventsOOMTest}} very often causes an {{OutOfMemoryError}} in the TRACE build in CI. Because the test waits for events without a timeout, this hangs the build forever.
For some reason, Maven and/or TeamCity aren't able to stop the forked Surefire JVM either, and it hangs around forever, causing {{java.net.BindException: Address already in use}} failures in future builds.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months
[JBoss JIRA] (ISPN-6303) Exception while executing Map/Reduce task over JavaScript which is called from Jar (Server Task)
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-6303?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-6303:
-------------------------------------
Assignee: Galder Zamarreño
> Exception while executing Map/Reduce task over JavaScript which is called from Jar (Server Task)
> ------------------------------------------------------------------------------------------------
>
> Key: ISPN-6303
> URL: https://issues.jboss.org/browse/ISPN-6303
> Project: Infinispan
> Issue Type: Bug
> Components: Server, Tasks, Test Suite - Server
> Affects Versions: 8.1.2.Final
> Reporter: Anna Manukyan
> Assignee: Galder Zamarreño
>
> When trying to execute Map/Reduce task over JavaScript which is called from the Jar Task deployed on infinispan-server, the following exception is thrown:
> {code}
> java.lang.ClassNotFoundException: org.infinispan.scripting.utils.JSArrays from [Module "org.jgroups.extension:main" from local module loader @33e5ccce (finder: local module finder @5a42bbf4 (roots: /home/amanukya/Documents/Red Hat Workspace/infinispan/server/integration/testsuite/target/server/node2/modules,/home/amanukya/Documents/Red Hat Workspace/infinispan/server/integration/testsuite/target/server/node2/modules/system/layers/base))]
> at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:132)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:118)
> at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
> at org.infinispan.client.hotrod.impl.operations.ExecuteOperation.executeOperation(ExecuteOperation.java:49)
> at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:54)
> at org.infinispan.client.hotrod.impl.RemoteCacheImpl.execute(RemoteCacheImpl.java:703)
> at org.infinispan.server.test.task.DistributedServerTaskIT.shouldExecuteMapReduceViaJavaScriptInTask(DistributedServerTaskIT.java:182)
> {code}
> The thing is that, the org.infinispan.scripting and org.infinispan modules are added as a dependency to the jar in MANIFEST.MF class, but still it looks for that in org.jgroups.extension:main module.
> If I am adding the infinispan module dependencies in org.jgroups.extension:main:module.xml , then test passes.
> You can find the test here (remove @Ignore annotation):
> https://github.com/infinispan/infinispan/blob/master/server/integration/t...
> UPDATE:
> The exception is thrown in case of 2 node deployment with clustered caches. For 1 node deployment with local cache, the test passes properly.
> The same passing test for LOCAL cache usage is: https://github.com/infinispan/infinispan/blob/master/server/integration/t...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 7 months