Wolf-Dieter Fink created ISPN-10428:
---------------------------------------
Summary: Incorrect XSD description for configuration of file-store
Key: ISPN-10428
URL:
https://issues.jboss.org/browse/ISPN-10428
Project: Infinispan
Issue Type: Bug
Components: Core, Server
Environment: XSD
jboss-infinispan-core*.xsd
infinispan-config*.xsd
Reporter: Wolf-Dieter Fink
Embedded and server mode are using a different configuration for file-store
embedded : infinispan-config*
{code}
</xs:attribute>
<xs:attribute name="relative-to" type="xs:string">
<xs:annotation><xs:documentation>Unused XML
attribute</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="path" type="xs:string">
<xs:annotation>
<xs:documentation>
The path within "relative-to" in which to store the cache state.
If undefined, the path defaults to the cache container name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
{code}
Here the relative-to is not used but referenced for path.
But path is used relative to PWD if it is not an absolute one, also if defaults to
'Infinispan-SingleFileStore' if not set.
For the server configuration it is
{code}
<xs:attribute name="relative-to" type="xs:string"
default="jboss.server.data.dir">
<xs:annotation>
<xs:documentation>The base directory in which to store the
cache state.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="path" type="xs:string">
<xs:annotation>
<xs:documentation>
The path within "relative-to" in which to store the
cache state.
If undefined, the path defaults to the cache container name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
{code}
But relative-to is a reference to a path declaration like this
{code}
<paths>
<path name="my.dir" path="/MyCacheStore"/>
</paths>
...
<distributed-cache name="wolf">
<persistence>
<file-store shared="false" fetch-state="true"
relative-to="my.dir"/>
</persistence>
</distributed-cache>
{code}
If relative-to is set to a real path or env variable the server start will fail with
{code}
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start
service jboss.datagrid-infinispan.clustered.wolf.config:
org.jboss.msc.service.StartException in service
jboss.datagrid-infinispan.clustered.wolf.config: Failed to start service
...
Caused by: java.lang.IllegalArgumentException: WFLYCTL0256: Could not find a path called
'/MyCacheStore'
at
org.jboss.as.controller.services.path.PathManagerService.resolveRelativePathEntry(PathManagerService.java:110)
at
org.jboss.as.clustering.infinispan.subsystem.CacheConfigurationAdd$5.inject(CacheConfigurationAdd.java:765)
at
org.jboss.as.clustering.infinispan.subsystem.CacheConfigurationAdd$5.inject(CacheConfigurationAdd.java:760)
at org.jboss.msc.inject.CastingInjector.inject(CastingInjector.java:58)
at org.jboss.msc.service.ServiceControllerImpl.inject(ServiceControllerImpl.java:1517)
at org.jboss.msc.service.ServiceControllerImpl.inject(ServiceControllerImpl.java:1503)
at
org.jboss.msc.service.ServiceControllerImpl.access$2800(ServiceControllerImpl.java:55)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1699)
... 6 more
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)