[infinispan-issues] [JBoss JIRA] (ISPN-8826) Starting a plain Hot Rod server requires fiddling with default cache

Galder Zamarreño (JIRA) issues at jboss.org
Thu Feb 15 08:34:00 EST 2018


     [ https://issues.jboss.org/browse/ISPN-8826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreño updated ISPN-8826:
-----------------------------------
    Workaround Description: 
The following code can be used as workaround:

{code}
final DefaultCacheManager cacheManager = new DefaultCacheManager();
cacheManager.defineConfiguration("my-default-cache",
   new ConfigurationBuilder().build());

final HotRodServerConfigurationBuilder serverCfg =
   new HotRodServerConfigurationBuilder();
serverCfg.defaultCacheName("my-default-cache");

final HotRodServer server = new HotRodServer();
server.start(serverCfg.build(), cacheManager);
{code}
                Workaround: Workaround Exists


> Starting a plain Hot Rod server requires fiddling with default cache
> --------------------------------------------------------------------
>
>                 Key: ISPN-8826
>                 URL: https://issues.jboss.org/browse/ISPN-8826
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 9.2.0.CR2, 9.1.6.Final
>            Reporter: Galder Zamarreño
>
> The following code does not work:
> {code}
> final DefaultCacheManager cacheManager = new DefaultCacheManager();
> final HotRodServer server = new HotRodServer();
> server.start(new HotRodServerConfigurationBuilder().build(), cacheManager);
> {code}
> It throws:
> {code}
> org.infinispan.commons.CacheConfigurationException: ISPN000433: 
> A default cache has been requested, but no cache has been set as default for this container
> 	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:449)
> 	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:440)
> 	at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:26)
> 	at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:14)
> 	at org.infinispan.security.Security.doPrivileged(Security.java:76)
> 	at org.infinispan.server.hotrod.SecurityActions.doPrivileged(SecurityActions.java:34)
> 	at org.infinispan.server.hotrod.SecurityActions.getCache(SecurityActions.java:51)
> 	at org.infinispan.server.hotrod.HotRodServer.getCacheInstance(HotRodServer.java:372)
> 	at org.infinispan.server.hotrod.HotRodServer.startDefaultCache(HotRodServer.java:302)
> 	at org.infinispan.server.core.AbstractProtocolServer.startInternal(AbstractProtocolServer.java:57)
> 	at org.infinispan.server.hotrod.HotRodServer.startInternal(HotRodServer.java:229)
> 	at org.infinispan.server.hotrod.HotRodServer.startInternal(HotRodServer.java:94)
> 	at org.infinispan.server.core.AbstractProtocolServer.start(AbstractProtocolServer.java:78)
> 	at org.infinispan.sandbox.SingleServer.main(SingleServer.java:17)
> {code}
> The Hot Rod server should not have to care about the default cache. In the past, calling getCache on default cache used to be make sure the node starts up components such as JGroups...etc.
> This shouldn't be necessary, but needs double check with [~dan.berindei] and also [~pferraro] for repercussions of changes at this level.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)



More information about the infinispan-issues mailing list