[infinispan-issues] [JBoss JIRA] (ISPN-8722) Impossible to create replicated/distributed cache configuration based on scattered cache configuration
Paul Ferraro (JIRA)
issues at jboss.org
Thu Jan 25 11:46:01 EST 2018
[ https://issues.jboss.org/browse/ISPN-8722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Ferraro updated ISPN-8722:
-------------------------------
Description:
Consider an existing scattered cache configuration.
Configuration scatteredConfig = ...;
ConfigurationBuilder builder = new ConfigurationBuilder().read(scatteredConfig);
builder.clustering().cacheMode(CacheMode.DIST_SYNC);
Configuration distConfig = builder.build();
This throws:
{noformat}
org.infinispan.commons.CacheConfigurationException: ISPN000468: Invalidation batch size configuration options applies only to scattered caches.
at org.infinispan.configuration.cache.ClusteringConfigurationBuilder.validate(ClusteringConfigurationBuilder.java:135)
at org.infinispan.configuration.cache.ConfigurationBuilder.validate(ConfigurationBuilder.java:226)
at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:283)
at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:273)
{noformat}
The validation logic of ClusteringConfigurationBuilder specifically requires the invalidationBatchSize attribute to be unset. However, there is no way to "unset" an attribute.
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/configuration/cache/ClusteringConfigurationBuilder.java#L154
The same issue applies to the biasAcquisition and biasLifespan attributes in 9.2.x.
Any reason not to expose an public AttributeSet attributes() method to all configuration builders? It looks like the AttributeDefintions are all public, as are the Attribute and AttributeSet objects. That way any configuration builder can easily reset a configuration attribute to its default. WDYT?
was:
Consider an existing scattered cache configuration.
Configuration scatteredConfig = ...;
ConfigurationBuilder builder = new ConfigurationBuilder().read(scatteredConfig);
builder.clustering().cacheMode(CacheMode.DIST_SYNC);
Configuration distConfig = builder.build();
This throws:
{noformat}
org.infinispan.commons.CacheConfigurationException: ISPN000468: Invalidation batch size configuration options applies only to scattered caches.
at org.infinispan.configuration.cache.ClusteringConfigurationBuilder.validate(ClusteringConfigurationBuilder.java:135)
at org.infinispan.configuration.cache.ConfigurationBuilder.validate(ConfigurationBuilder.java:226)
at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:283)
at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:273)
{noformat}
The validation logic of ClusteringConfigurationBuilder specifically requires the invalidationBatchSize attribute to be unset. However, there is no way to "unset" an attribute.
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/configuration/cache/ClusteringConfigurationBuilder.java#L154
The same issue applies to the biasAcquisition and biasLifespan attributes in 9.2.x.
> Impossible to create replicated/distributed cache configuration based on scattered cache configuration
> ------------------------------------------------------------------------------------------------------
>
> Key: ISPN-8722
> URL: https://issues.jboss.org/browse/ISPN-8722
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.2.0.CR1, 9.1.4.Final
> Reporter: Paul Ferraro
>
> Consider an existing scattered cache configuration.
> Configuration scatteredConfig = ...;
> ConfigurationBuilder builder = new ConfigurationBuilder().read(scatteredConfig);
> builder.clustering().cacheMode(CacheMode.DIST_SYNC);
> Configuration distConfig = builder.build();
> This throws:
> {noformat}
> org.infinispan.commons.CacheConfigurationException: ISPN000468: Invalidation batch size configuration options applies only to scattered caches.
> at org.infinispan.configuration.cache.ClusteringConfigurationBuilder.validate(ClusteringConfigurationBuilder.java:135)
> at org.infinispan.configuration.cache.ConfigurationBuilder.validate(ConfigurationBuilder.java:226)
> at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:283)
> at org.infinispan.configuration.cache.ConfigurationBuilder.build(ConfigurationBuilder.java:273)
> {noformat}
> The validation logic of ClusteringConfigurationBuilder specifically requires the invalidationBatchSize attribute to be unset. However, there is no way to "unset" an attribute.
> https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/configuration/cache/ClusteringConfigurationBuilder.java#L154
> The same issue applies to the biasAcquisition and biasLifespan attributes in 9.2.x.
> Any reason not to expose an public AttributeSet attributes() method to all configuration builders? It looks like the AttributeDefintions are all public, as are the Attribute and AttributeSet objects. That way any configuration builder can easily reset a configuration attribute to its default. WDYT?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the infinispan-issues
mailing list