[infinispan-issues] [JBoss JIRA] (ISPN-10428) Incorrect XSD description for configuration of file-store

Wolf-Dieter Fink (Jira) issues at jboss.org
Thu Jul 25 09:01:01 EDT 2019


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)


More information about the infinispan-issues mailing list