Skip to content

Commit

Permalink
WFLY-4515 Fix statistics-enabled handling and testing
Browse files Browse the repository at this point in the history
  • Loading branch information
rhusar committed Oct 7, 2015
1 parent 37fb5cc commit d885e47
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 31 deletions.
Expand Up @@ -297,6 +297,41 @@ private static FailedOperationTransformationConfig createFailedOperationConfig(M
}
}

if (InfinispanModel.VERSION_1_5_0.requiresTransformation(version)) {
config.addFailedAttribute(
containerAddress, new ChangeToTrueConfig(CacheContainerResourceDefinition.Attribute.STATISTICS_ENABLED.getDefinition().getName()));
config.addFailedAttribute(
containerAddress.append(LocalCacheResourceDefinition.WILDCARD_PATH), new ChangeToTrueConfig(CacheResourceDefinition.Attribute.STATISTICS_ENABLED.getDefinition().getName()));
config.addFailedAttribute(
containerAddress.append(DistributedCacheResourceDefinition.WILDCARD_PATH), new ChangeToTrueConfig(CacheResourceDefinition.Attribute.STATISTICS_ENABLED.getDefinition().getName()));
config.addFailedAttribute(
containerAddress.append(ReplicatedCacheResourceDefinition.WILDCARD_PATH), new ChangeToTrueConfig(CacheResourceDefinition.Attribute.STATISTICS_ENABLED.getDefinition().getName()));
config.addFailedAttribute(
containerAddress.append(InvalidationCacheResourceDefinition.WILDCARD_PATH), new ChangeToTrueConfig(CacheResourceDefinition.Attribute.STATISTICS_ENABLED.getDefinition().getName()));

}

return config;
}

private static class ChangeToTrueConfig extends FailedOperationTransformationConfig.AttributesPathAddressConfig<ChangeToTrueConfig> {
public ChangeToTrueConfig(String... attributes) {
super(attributes);
}

@Override
protected boolean isAttributeWritable(String attributeName) {
return true;
}

@Override
protected boolean checkValue(String attrName, ModelNode attribute, boolean isWriteAttribute) {
return !attribute.equals(new ModelNode(true));
}

@Override
protected ModelNode correctValue(ModelNode toResolve, boolean isWriteAttribute) {
return new ModelNode(true);
}
}
}
Expand Up @@ -22,12 +22,12 @@
~
-->
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
<cache-container name="minimal" default-cache="local" statistics-enabled="true">
<local-cache name="local" statistics-enabled="true"/>
<cache-container name="minimal" default-cache="local" statistics-enabled="false">
<local-cache name="local" statistics-enabled="false"/>
</cache-container>
<cache-container name="maximal" aliases="alias1 alias2" default-cache="local" jndi-name="java:global/infinispan/maximal" module="org.infinispan" statistics-enabled="true">
<cache-container name="maximal" aliases="alias1 alias2" default-cache="local" jndi-name="java:global/infinispan/maximal" module="org.infinispan" statistics-enabled="false">
<transport channel="maximal-channel" lock-timeout="120000"/>
<local-cache name="local" module="org.infinispan" statistics-enabled="true">
<local-cache name="local" module="org.infinispan" statistics-enabled="false">
<locking acquire-timeout="30000" concurrency-level="2000" isolation="NONE" striping="true"/>
<transaction mode="FULL_XA" stop-timeout="60000" locking="OPTIMISTIC"/>
<eviction max-entries="20000" strategy="LIRS"/>
Expand All @@ -36,7 +36,7 @@
<write-behind modification-queue-size="2048" thread-pool-size="1"/>
</file-store>
</local-cache>
<invalidation-cache name="invalid" mode="ASYNC" queue-flush-interval="10" queue-size="1000" statistics-enabled="true">
<invalidation-cache name="invalid" mode="ASYNC" queue-flush-interval="10" queue-size="1000" statistics-enabled="false">
<locking acquire-timeout="30000" concurrency-level="2000" isolation="READ_UNCOMMITTED" striping="true"/>
<transaction mode="NON_XA" stop-timeout="60000" locking="OPTIMISTIC"/>
<eviction max-entries="20000" strategy="LRU"/>
Expand All @@ -46,7 +46,7 @@
<property name="valueSizeEstimate">100</property>
</remote-store>
</invalidation-cache>
<replicated-cache name="repl" mode="ASYNC" queue-flush-interval="10" queue-size="1000" statistics-enabled="true">
<replicated-cache name="repl" mode="ASYNC" queue-flush-interval="10" queue-size="1000" statistics-enabled="false">
<locking acquire-timeout="30000" concurrency-level="2000" isolation="SERIALIZABLE" striping="true"/>
<transaction mode="NON_DURABLE_XA" stop-timeout="60000" locking="OPTIMISTIC"/>
<eviction max-entries="20000" strategy="FIFO"/>
Expand All @@ -65,7 +65,7 @@
</backups>
<backup-for remote-cache="users" remote-site="LON"/>
</replicated-cache>
<distributed-cache name="dist" mode="SYNC" l1-lifespan="1200000" owners="4" remote-timeout="35000" segments="12" statistics-enabled="true">
<distributed-cache name="dist" mode="SYNC" l1-lifespan="1200000" owners="4" remote-timeout="35000" segments="12" statistics-enabled="false">
<locking acquire-timeout="30000" concurrency-level="2000" isolation="READ_COMMITTED" striping="true"/>
<transaction mode="FULL_XA" stop-timeout="60000" locking="OPTIMISTIC"/>
<eviction max-entries="20000" strategy="UNORDERED"/>
Expand Down
Expand Up @@ -64,4 +64,34 @@ private List<ModelNode> adjustLogging(PathAddress subsystem) throws Exception {

return list;
}

@Override
public void adjustInfinispanStatisticsEnabled(final List<ModelNode> list, final PathAddress subsystem) {
//Statistics need to be enabled for all cache containers and caches
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "server")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "server").append("replicated-cache", "default")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "web")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "web").append("distributed-cache", "dist")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "ejb")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "ejb").append("distributed-cache", "dist")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("invalidation-cache", "entity")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("local-cache", "local-query")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("replicated-cache", "timestamps")));
}

private ModelNode setStatisticsEnabledTrue(final PathAddress addr) {
return getWriteAttributeOperation(addr, "statistics-enabled", true);
}

}
Expand Up @@ -35,4 +35,5 @@ public class DomainAdjuster630 extends DomainAdjuster640 {
protected String getJaspiTestAuthModuleName() {
return "org.jboss.as.web.security.jaspi.modules.HTTPBasicServerAuthModule";
}

}
Expand Up @@ -191,36 +191,15 @@ private List<ModelNode> adjustInfinispan(final PathAddress subsystem) throws Exc

list.add(getWriteAttributeOperation(subsystem.append("cache-container", "server").append("transport", "jgroups"), "stack", new ModelNode("udp")));

//Statistics need to be enabled for all cache containers and caches
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "server")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "server").append("replicated-cache", "default")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "web")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "web").append("distributed-cache", "dist")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "ejb")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "ejb").append("distributed-cache", "dist")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("invalidation-cache", "entity")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("local-cache", "local-query")));
list.add(setStatisticsEnabledTrue(
subsystem.append("cache-container", "hibernate").append("replicated-cache", "timestamps")));
this.adjustInfinispanStatisticsEnabled(list, subsystem);

return list;
}

private ModelNode setStatisticsEnabledTrue(final PathAddress addr) {
return getWriteAttributeOperation(addr, "statistics-enabled", true);
public void adjustInfinispanStatisticsEnabled(final List<ModelNode> list, final PathAddress subsystem) {
// No-op for 6.4.0
}


private List<ModelNode> adjustJGroups(final PathAddress subsystem) throws Exception {
final List<ModelNode> list = new ArrayList<>();

Expand Down

0 comments on commit d885e47

Please sign in to comment.