IDEA 12 and Scala heads up (and implications in Java compilation)
by Galder Zamarreño
Hi all,
Navin has updated the wiki in https://docs.jboss.org/author/display/ISPN/Contributing+-+The+Basics with information on how to set up Scala compiler correctly on IDEA 11.
IDEA 12 changes all of this, but you will only see it if you start a brand new project from scratch. If you have an existing project and move to IDEA 12, it should look like Navin says.
Brand new Infinispan projects opened with IDEA 12 now result in all Java compilation going through SBT now (http://blog.jetbrains.com/scala/2012/12/28/a-new-way-to-compile/), but this only works fine with the very latest Scala plugin installed! (I had compilation issues with a previous version Scala version)
You will still require 'mvn install' execution from command line to generate log implementations and CLI lexer classes, but after that it should work fine.
So, if you open a brand new IDEA 12 project, make sure you update Scala plugin to the very latest version. This is now crucial for Java compilation as well.
Cheers,
--
Galder Zamarreño
galder(a)redhat.com
twitter.com/galderz
Project Lead, Escalante
http://escalante.io
Engineer, Infinispan
http://infinispan.org
11 years, 9 months
dist exec draining thread pool
by Ales Justin
Invoking a few simple tasks quickly drains out a thread pool of size 3.
------
14:41:43,061 WARN [org.infinispan.distexec.DefaultExecutorService] (notification-thread-0) ISPN000007: Failed local execution : java.util.concurrent.RejectedExecutionException: Current thread pool executor queue: [java.util.concurrent.FutureTask@cee8427, java.util.concurrent.FutureTask@7f262312, java.util.concurrent.FutureTask@20c8b3f5]
at org.jboss.as.capedwarf.services.SimpleThreadsHandler.rejectedExecution(SimpleThreadsHandler.java:35) [jboss-as-capedwarf-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767) [classes.jar:1.6.0_37]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658) [classes.jar:1.6.0_37]
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92) [classes.jar:1.6.0_37]
at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.invokeLocally(DefaultExecutorService.java:1110) [infinispan-core-5.2.0.Beta6.jar:5.2.0.Beta6]
at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.execute(DefaultExecutorService.java:1067) [infinispan-core-5.2.0.Beta6.jar:5.2.0.Beta6]
at org.infinispan.distexec.DefaultExecutorService.submit(DefaultExecutorService.java:486) [infinispan-core-5.2.0.Beta6.jar:5.2.0.Beta6]
at org.infinispan.distexec.DefaultExecutorService.submit(DefaultExecutorService.java:472) [infinispan-core-5.2.0.Beta6.jar:5.2.0.Beta6]
at org.jboss.capedwarf.common.infinispan.InfinispanUtils.distribute(InfinispanUtils.java:103) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.jboss.capedwarf.common.infinispan.InfinispanUtils.fire(InfinispanUtils.java:92) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.jboss.capedwarf.datastore.notifications.AbstractCacheListener.executeCallable(AbstractCacheListener.java:67) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.jboss.capedwarf.datastore.stats.AbstractEagerListener.executeCallables(AbstractEagerListener.java:52) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.jboss.capedwarf.datastore.stats.AbstractEagerListener.onPreRemove(AbstractEagerListener.java:47) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at org.jboss.capedwarf.datastore.notifications.AbstractPutRemoveCacheListener.onRemove(AbstractPutRemoveCacheListener.java:62) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_37]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_37]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_37]
at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_37]
at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:200) [infinispan-core-5.2.0.Beta6.jar:5.2.0.Beta6]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_37]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_37]
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_37]
this is the code that invokes DistService:
/**
* Submit the task to distributed execution env, it could be a fire-n-forget way.
*/
public static <R> Future<R> fire(final String appId, final CacheName template, final Callable<R> task, Object... keys) {
return distribute(appId, template, task, false, keys);
}
private static <R> Future<R> distribute(final String appId, final CacheName template, final Callable<R> task, final boolean direct, final Object... keys) {
if (cacheManager == null)
throw new IllegalArgumentException("CacheManager is null, should not be here?!");
final Cache cache = getCache(appId, template);
try {
final ExecutorService executor = (direct ? ExecutorFactory.getDirectExecutor() : ExecutorFactory.getInstance());
final DistributedExecutorService des = new DefaultExecutorService(cache, executor);
return des.submit(task, keys);
} catch (Exception e) {
throw (e instanceof RuntimeException) ? (RuntimeException) e : new RuntimeException(e);
}
}
where the non-direct executor service is
int maxPoolSize = Integer.parseInt(System.getProperty("jboss.capedwarf.maxPoolSize", "3"));
executor = new ThreadPoolExecutor(1, maxPoolSize, 10, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(maxPoolSize), this);
and the task are something like this:
public abstract class AbstractUpdateTask<V> extends BaseTxTask<String, V, Entity> {
private final CapedwarfEnvironment env;
private final Update update;
public AbstractUpdateTask(Update update) {
this.env = CapedwarfEnvironment.getThreadLocalInstance();
this.update = update;
}
protected Entity callInTx() throws Exception {
CapedwarfEnvironment previous = CapedwarfEnvironment.setThreadLocalInstance(env);
try {
return callInTxInternal();
} finally {
if (previous != null) {
CapedwarfEnvironment.setThreadLocalInstance(previous);
} else {
CapedwarfEnvironment.clearThreadLocalInstance();
}
}
}
private Entity callInTxInternal() throws Exception {
final DatastoreService service = DatastoreServiceFactory.getDatastoreService();
final String cacheKey = update.statsKind() + update.statsNamespace();
lock(cacheKey);
V value = getCache().get(cacheKey);
Key key = provideKey(value);
Entity entity;
String oldNamespace = NamespaceManager.get();
NamespaceManager.set(update.statsNamespace());
try {
entity = getOrCreateEntity(service, key);
entity = update.update(entity);
key = service.put(entity);
} finally {
NamespaceManager.set(oldNamespace);
}
getCache().put(cacheKey, updateValue(value, key));
return entity;
}
private void lock(String cacheKey) {
AdvancedCache<String, V> ac = getCache().getAdvancedCache();
if (ac.lock(cacheKey) == false)
throw new IllegalArgumentException("Cannot get a lock on key for " + cacheKey);
}
private Entity getOrCreateEntity(DatastoreService service, Key key) {
if (key == null) {
return createNewEntity();
} else {
Map<Key, Entity> map = service.get(null, Collections.singleton(key));
if (map.isEmpty()) {
return createNewEntity();
} else {
return map.values().iterator().next();
}
}
}
private Entity createNewEntity() {
Entity entity = new Entity(update.statsKind());
update.initialize(entity);
return entity;
}
protected abstract Key provideKey(V value);
protected abstract V updateValue(V value, Key key);
}
11 years, 9 months
Fwd: infinispan NPE
by Ales Justin
@Vladimir: any idea why the NPE?
> OpenShift only, it occurs on a sequence of requests with no delay between them.
>
>
> Matej.
>
>
>
>
> On 03/01/13 20:58, Ales Justin wrote:
>> Can you reproduce this locally?
>> Or OpenShift only?
>>
>> Sent from my iPad
>>
>> On Jan 3, 2013, at 20:01, Matej Lazar <matejonnet(a)gmail.com> wrote:
>>
>>>
>>> The same error with replaced infinispan-core.jar
>>>
>>>
>>> Matej.
>>>
>>>
>>> On 03/01/13 18:01, Ales Justin wrote:
>>>> Can you try with Ispn 5.2.Beta6 -- it's already updated in upstream?
>>>>
>>>> On Jan 3, 2013, at 5:54 PM, Matej Lazar <matejonnet(a)gmail.com> wrote:
>>>>
>>>>>
>>>>> Single node with our ToDo sample on OpenShift while inserting new task:
>>>>>
>>>>>
>>>>> 11:49:29,088 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-127.4.92.129/127.4.92.129:8080-56) ISPN000136: Execution error: org.infinispan.CacheException: Caught exception [java.lang.RuntimeException] while invoking method [public void org.jboss.capedwarf.datastore.notifications.AbstractPutRemoveCacheListener.onPut(org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent)] on listener instance: org.jboss.capedwarf.datastore.ns.NamespaceListener@1409af9
>>>>> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:205) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:44) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:221) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryModified(CacheNotifierImpl.java:160) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.perform(PutKeyValueCommand.java:115) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:110) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:273) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:244) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:102) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.ActivationInterceptor.visitPutKeyValueCommand(ActivationInterceptor.java:70) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:211) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:149) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:127)
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPutKeyValueCommand(OptimisticLockingInterceptor.java:142) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:256) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:194) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:209) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:192) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:135) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:127) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1016) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.CacheImpl.put(CacheImpl.java:712) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.DecoratedCache.put(DecoratedCache.java:319) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.AbstractDelegatingCache.put(AbstractDelegatingCache.java:308) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.jboss.capedwarf.datastore.DatastoreServiceImpl.doPut(DatastoreServiceImpl.java:267) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.DatastoreServiceImpl.putInTx(DatastoreServiceImpl.java:216) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:154) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:141) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.AbstractDatastoreService$8.call(AbstractDatastoreService.java:153) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.AbstractDatastoreService$8.call(AbstractDatastoreService.java:151) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.CapedwarfDatastoreService$1.call(CapedwarfDatastoreService.java:72) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.common.threads.DirectFuture.getInternal(DirectFuture.java:144) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.common.threads.DirectFuture.get(DirectFuture.java:89) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.unwrap(CapedwarfDatastoreService.java:83) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.put(CapedwarfDatastoreService.java:134) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.put(CapedwarfDatastoreService.java:130) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.log.CapedwarfLogService.requestStarted(CapedwarfLogService.java:252) [capedwarf-log-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.appidentity.GAEListener.requestInitialized(GAEListener.java:145) [capedwarf-appidentity-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:134) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:350) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:901) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:1025) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
>>>>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
>>>>> Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
>>>>> at org.jboss.capedwarf.common.infinispan.InfinispanUtils.submit(InfinispanUtils.java:84) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.notifications.AbstractCacheListener.executeCallable(AbstractCacheListener.java:67) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.notifications.AbstractCacheListener.executeCallable(AbstractCacheListener.java:48) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.ns.NamespaceListener.executeCallable(NamespaceListener.java:41) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.ns.NamespaceListener.onPostPut(NamespaceListener.java:49) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at org.jboss.capedwarf.datastore.notifications.AbstractPutRemoveCacheListener.onPut(AbstractPutRemoveCacheListener.java:48) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) [:1.7.0_09-icedtea]
>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09-icedtea]
>>>>> at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09-icedtea]
>>>>> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:200) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> ... 79 more
>>>>> Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
>>>>> at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:950) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.get(DefaultExecutorService.java:898) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> at org.jboss.capedwarf.common.infinispan.InfinispanUtils.submit(InfinispanUtils.java:82) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> ... 88 more
>>>>> Caused by: java.lang.NullPointerException
>>>>> at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:935) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>> ... 90 more
>>>>>
>>>>> --
>>>
>>> --
>>>
>>>
>>>
>>
>
> --
>
>
>
11 years, 10 months
next infinispan release
by Mircea Markus
Hi,
Next Infinispan release(5.2.0.CR1) is scheduled for Friday 21 Dec.
We still have 19 issues (blocker + critical) that must make it in for CR[1]. Besides this we are still waiting for input from QA - hopefully things will stabilise at this stage.
Realistically speaking we won't be able to solve all 19 issues this the end week of this week, so I've moved the release date to Jan 4th (Friday).
Also please review the JIRAs[1] assigned to you and approach the blocker/critical JIRAs first.
[1] http://goo.gl/iV9MQ
Cheers,
--
Mircea Markus
Infinispan lead (www.infinispan.org)
11 years, 10 months
Performance based on contention
by Radim Vansa
Hi,
I have created a comparison how JDG (library mode) behaves depending on the contention on keys. The test runs standard (20% puts, 80% gets) stress test on different amount of keys (while there are always 80k keys loaded into the cache) with 10 concurrent threads on each of 8 nodes, for 10 minutes. Regarding JVM heating there was 10 minute warmup on 80k shared keys, then the tests were executed in the order from the table below. TCP was used as JGroups stack base.
The variants below use pessimistic transactions (one request per transaction), or no transactions in 6.1.0 case (running w/o transactions on JDG 6.0.1 with high contention wouldn't make any sense). The last 'disjunct' case has slightly different key format evading any contention. Before the slash is number of reads per node (sum for all 10 threads) per second, the latter is number of writes.
Accessed keys | JDG 6.0.1 TX | JDG 6.1.0 TX | JDG 6.1.0 NO TX
80 | 18824/2866 | 21671/3542 | 22264/5978
800 | 18740/3625 | 23655/4971 | 20772/6018
8000 | 18694/3583 | 21086/4478 | 19882/5748
24000 | 18674/3493 | 19342/4078 | 19757/5630
80000 | 18680/3459 | 18567/3799 | 22617/6416
80k disjunct | 19023/3670 | 20941/4527 | 20877/6154
I can't much explain why the disjunct sets of keys have so much better performance than the low contention cases, the key format is really just key_(number) for shared keys and key_(node)_(thread)_(number) for disjunct ones (and the rest of the code paths is the same). The exceptionally good performance for 80k keys in non-tx case is also very strange, but I keep getting these results consistently.
Nevertheless, I am really happy about the high performance increase between 6.0.1 and 6.1.0 and that no-tx case works intuitively (no deadlocks) and really fast :)
Radim
-----------------------------------------------------------
Radim Vansa
Quality Assurance Engineer
JBoss Datagrid
tel. +420532294559 ext. 62559
Red Hat Czech, s.r.o.
Brno, Purkyňova 99/71, PSČ 612 45
Czech Republic
11 years, 10 months
MFC/UFC credits in default config
by Radim Vansa
Hi,
recently I have synchronized our jgroups configuration with the default one shipped with Infinispan (core/src/main/resources/jgroups-(tcp|udp).xml) and it has shown that 200k credits in UFC/MFC (I keep the two values in sync) is not enough even for our smallest resilience test (killing one of four nodes). The state transfer was often blocked when requesting for more credits which resulted in not completing it within the time limit.
Therefore, I'd like to suggest to increase the amount of credits in default configuration as well, because we simply cannot use the lower setting and it's preferable to have the configurations as close as possible. The only settings we need to keep different are thread pool sizes and addresses and ports.
Radim
-----------------------------------------------------------
Radim Vansa
Quality Assurance Engineer
JBoss Datagrid
tel. +420532294559 ext. 62559
Red Hat Czech, s.r.o.
Brno, Purkyňova 99/71, PSČ 612 45
Czech Republic
11 years, 10 months
[ISPN1797] Cannot find ispn core metadata file
by Guillaume SCHEIBEL
Hi guys,
I'm finishing the last version of the MongoDB cache store module and I'm
facing to a problem when the core module try to load
"infinispan-core-component-metadata.dat" but I know nothing about it.
Weird thing, last time I ran the test (XML parsing) the problem didn't
showed up.
Any idea on this ?
Thanks
Guillaume
11 years, 10 months