[JBoss JIRA] (ISPN-3140) JMX operation to suppress state transfer
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3140?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3140:
-----------------------------------------------
Anna Manukyan <amanukya(a)redhat.com> made a comment on [bug 974402|https://bugzilla.redhat.com/show_bug.cgi?id=974402]
Tested for ER1 and still the issue described above appears.
> JMX operation to suppress state transfer
> ----------------------------------------
>
> Key: ISPN-3140
> URL: https://issues.jboss.org/browse/ISPN-3140
> Project: Infinispan
> Issue Type: Feature Request
> Components: Distributed Cache, State transfer
> Affects Versions: 5.2.6.Final
> Reporter: Manik Surtani
> Assignee: Dan Berindei
> Fix For: 5.2.7.Final, 5.3.0.CR2, 5.3.0.Final
>
>
> This feature request is to expose a JMX operation on each node, to suppress state transfer for a period of time. This flag would be {{false}} by default.
> The use case of this flag would be to ease bringing down (and up) a cluster for maintenance work. A typical workflow would be:
> 1) Shut down application requests to the data grid
> 2) Suppress state transfer on all nodes via JMX
> 3) Bring down all nodes
> 4) Perform maintenance work
> 5) Bring up nodes, one at a time. As each node comes up, disable state transfer for the node via JMX.
> 6) Once all nodes are up, enable state transfer for each node again via JMX
> 7) Allow application requests to reach the grid again.
> The purpose of this is to allow smooth and fast shutdown and startup, remove the risk of OOM errors (when bringing a grid down).
> This is a small but useful subset of full manual state transfer as defined in ISPN-1394.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (ISPN-3452) Hot Rod client socket leak
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-3452?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-3452:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Hot Rod client socket leak
> --------------------------
>
> Key: ISPN-3452
> URL: https://issues.jboss.org/browse/ISPN-3452
> Project: Infinispan
> Issue Type: Bug
> Components: Remote protocols
> Affects Versions: 5.3.0.Final, 6.0.0.Alpha3
> Reporter: Michal Linhard
> Assignee: Mircea Markus
> Priority: Critical
> Labels: jdg62blocker
> Fix For: 6.0.0.Beta2
>
>
> TransportObjectFactory.validateObject swallows TransportException and doesn't properly close socket connected with the TcpTransport object.
> This way an open socket is leaked each time it's created by connection pool Evictor thread
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (ISPN-3506) NPE in SingleFileStore
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-3506?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-3506:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> NPE in SingleFileStore
> ----------------------
>
> Key: ISPN-3506
> URL: https://issues.jboss.org/browse/ISPN-3506
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 6.0.0.Alpha4
> Reporter: Michal Linhard
> Assignee: Pedro Ruivo
> Fix For: 6.0.0.Beta2
>
>
> SingleFileStore doesn't count with expired entries and causes NPE when entrySet is called.
> {code}
> 2013-09-13 16:55:58,131 ERROR (testng-ExpiryTest) [org.infinispan.persistence.PersistenceUtil] ISPN000252: Error executing parallel store task
> java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
> at java.util.concurrent.FutureTask.get(FutureTask.java:111)
> at org.infinispan.persistence.PersistenceUtil.waitForAllTasksToComplete(PersistenceUtil.java:78)
> at org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:443)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:387)
> at org.infinispan.interceptors.CacheLoaderInterceptor.visitEntrySetCommand(CacheLoaderInterceptor.java:189)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70)
> at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89)
> at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321)
> at org.infinispan.CacheImpl.entrySet(CacheImpl.java:473)
> at org.infinispan.CacheImpl.entrySet(CacheImpl.java:466)
> at org.infinispan.expiry.ExpiryTest.doTestEntrySetAfterExpiryInPut(ExpiryTest.java:281)
> at org.infinispan.expiry.ExpiryTest.testEntrySetAfterExpiryWithStore(ExpiryTest.java:251)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
> at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.NullPointerException
> at org.infinispan.interceptors.CacheLoaderInterceptor$2.processEntry(CacheLoaderInterceptor.java:192)
> at org.infinispan.persistence.file.SingleFileStore$1.call(SingleFileStore.java:438)
> at org.infinispan.persistence.file.SingleFileStore$1.call(SingleFileStore.java:434)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
> at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
> at org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:434)
> ... 50 more
> {code}
> test case:
> https://github.com/mlinhard/infinispan/commit/c8390f2ba4cae327129b6d7da46...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (ISPN-3562) File cache store ignores maxEntries property
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-3562?page=com.atlassian.jira.plugin.... ]
Mircea Markus edited comment on ISPN-3562 at 9/27/13 4:16 AM:
--------------------------------------------------------------
This error you mentioned here https://gist.github.com/mgencur/6714259 only happens when maxEntries is set. Integrating ISPN-3541 and ISPN-3564 should make your test pass.
was (Author: mircea.markus):
This error you mentioned here https://gist.github.com/mgencur/6714259 is only happens when maxEntries is set. Integrating ISPN-3541 and ISPN-3564 should make your test pass.
> File cache store ignores maxEntries property
> --------------------------------------------
>
> Key: ISPN-3562
> URL: https://issues.jboss.org/browse/ISPN-3562
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 6.0.0.Beta1
> Reporter: Martin Gencur
> Assignee: Mircea Markus
> Fix For: 6.0.0.Final
>
>
> The following test fails if the new file cache store is configured with maxEntries property:
> {code:java}
> @Test
> public void testMaxEntriesAndLocationParametersDuringRestart() throws Exception {
> controller.start(CONTAINER);
> RemoteCacheManager rcm = new RemoteCacheManager(new ConfigurationBuilder().addServer()
> .host(server.getHotrodEndpoint().getInetAddress().getHostName())
> .port(server.getHotrodEndpoint().getPort())
> .build());
> RemoteCache<String, String> rc = rcm.getCache();
> rc.clear();
> assertNull(rc.get("k1"));
> rc.put("k1", "v1");
> rc.put("k2", "v2");
> rc.put("k3", "v3");
> assertEquals("v1", rc.get("k1"));
> assertEquals("v2", rc.get("k2"));
> assertEquals("v3", rc.get("k3"));
> //assert the existence of a single file in the filesystem
> File f = new File(singleFCSPath, "default.dat");
> assertTrue(f.exists());
> //assert that SingleFileCacheStore was registered
> MBeanServerConnectionProvider provider = new MBeanServerConnectionProvider(server.getHotrodEndpoint().getInetAddress().getHostName(), MANAGEMENT_PORT);
> assertEquals("[org.infinispan.persistence.file.SingleFileStore]", getAttribute(provider, CACHE_LOADER_MBEAN, "stores"));
> controller.kill(CONTAINER);
> controller.start(CONTAINER);
> assertEquals("v2", rc.get("k2"));
> assertEquals("v3", rc.get("k3"));
> assertNull(rc.get("k1")); //maxEntries was 2, this entry should be lost as the oldest entries are removed
> //^^^^fails here, the entry is still there
> controller.stop(CONTAINER);
> }
> {code}
> Cache configuration:
> {code}
> <subsystem xmlns="urn:infinispan:server:core:5.3" default-cache-container="default">
> <cache-container name="default" default-cache="default" listener-executor="infinispan-listener" eviction-executor="infinispan-eviction" replication-queue-executor="infinispan-repl-queue">
> <local-cache name="default" start="EAGER">
> <locking isolation="NONE" acquire-timeout="30000" concurrency-level="1000" striping="false"/>
> <transaction mode="NONE"/>
> <file-store
> passivation="false"
> preload="false"
> purge="false"
> relative-to="temp"
> path="single-file-cache-store"
> >
> <property name="maxEntries">2</property>
> </file-store>
> </local-cache>
> </cache-container>
> </subsystem>
> {code}
> The complete test is here: https://code.engineering.redhat.com/gerrit/gitweb?p=jdg-functional-tests....
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months
[JBoss JIRA] (ISPN-3562) File cache store ignores maxEntries property
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-3562?page=com.atlassian.jira.plugin.... ]
Mircea Markus resolved ISPN-3562.
---------------------------------
Resolution: Rejected
This error you mentioned here https://gist.github.com/mgencur/6714259 is only happens when maxEntries is set. Integrating ISPN-3541 and ISPN-3564 should make your test pass.
> File cache store ignores maxEntries property
> --------------------------------------------
>
> Key: ISPN-3562
> URL: https://issues.jboss.org/browse/ISPN-3562
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 6.0.0.Beta1
> Reporter: Martin Gencur
> Assignee: Mircea Markus
> Fix For: 6.0.0.Final
>
>
> The following test fails if the new file cache store is configured with maxEntries property:
> {code:java}
> @Test
> public void testMaxEntriesAndLocationParametersDuringRestart() throws Exception {
> controller.start(CONTAINER);
> RemoteCacheManager rcm = new RemoteCacheManager(new ConfigurationBuilder().addServer()
> .host(server.getHotrodEndpoint().getInetAddress().getHostName())
> .port(server.getHotrodEndpoint().getPort())
> .build());
> RemoteCache<String, String> rc = rcm.getCache();
> rc.clear();
> assertNull(rc.get("k1"));
> rc.put("k1", "v1");
> rc.put("k2", "v2");
> rc.put("k3", "v3");
> assertEquals("v1", rc.get("k1"));
> assertEquals("v2", rc.get("k2"));
> assertEquals("v3", rc.get("k3"));
> //assert the existence of a single file in the filesystem
> File f = new File(singleFCSPath, "default.dat");
> assertTrue(f.exists());
> //assert that SingleFileCacheStore was registered
> MBeanServerConnectionProvider provider = new MBeanServerConnectionProvider(server.getHotrodEndpoint().getInetAddress().getHostName(), MANAGEMENT_PORT);
> assertEquals("[org.infinispan.persistence.file.SingleFileStore]", getAttribute(provider, CACHE_LOADER_MBEAN, "stores"));
> controller.kill(CONTAINER);
> controller.start(CONTAINER);
> assertEquals("v2", rc.get("k2"));
> assertEquals("v3", rc.get("k3"));
> assertNull(rc.get("k1")); //maxEntries was 2, this entry should be lost as the oldest entries are removed
> //^^^^fails here, the entry is still there
> controller.stop(CONTAINER);
> }
> {code}
> Cache configuration:
> {code}
> <subsystem xmlns="urn:infinispan:server:core:5.3" default-cache-container="default">
> <cache-container name="default" default-cache="default" listener-executor="infinispan-listener" eviction-executor="infinispan-eviction" replication-queue-executor="infinispan-repl-queue">
> <local-cache name="default" start="EAGER">
> <locking isolation="NONE" acquire-timeout="30000" concurrency-level="1000" striping="false"/>
> <transaction mode="NONE"/>
> <file-store
> passivation="false"
> preload="false"
> purge="false"
> relative-to="temp"
> path="single-file-cache-store"
> >
> <property name="maxEntries">2</property>
> </file-store>
> </local-cache>
> </cache-container>
> </subsystem>
> {code}
> The complete test is here: https://code.engineering.redhat.com/gerrit/gitweb?p=jdg-functional-tests....
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 2 months