[jboss-jira] [JBoss JIRA] (WFLY-5539) Infinispan subsystem attributes are not persisted

Michal Karm Babacek (JIRA) issues at jboss.org
Mon Oct 19 14:33:00 EDT 2015


    [ https://issues.jboss.org/browse/WFLY-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119596#comment-13119596 ] 

Michal Karm Babacek commented on WFLY-5539:
-------------------------------------------

[~pferraro] I have created the module and my cache-container is associated with it. Furthermore, I switched infinispan query pom dependencies to {{provided}} and I appended {{org.infinispan.query}} to {{META-INF/MANIFEST.MF}} Dependencies. How could I switch indexing on my container caches On? The sole fact that the cache container is associated with {{org.infinispan.query}} doesn't switch indexing on by default.

My experimental module is this one:
{code}
<module xmlns="urn:jboss:module:1.3" name="org.infinispan.query">
    <properties>
        <property name="jboss.api" value="private"/>
    </properties>

    <resources>
        <resource-root path="infinispan-query-8.0.1.Final.jar"/>
        <resource-root path="infinispan-objectfilter-8.0.1.Final.jar"/>
        <resource-root path="hibernate-hql-lucene-1.3.0.Alpha2.jar"/>
        <resource-root path="hibernate-hql-parser-1.3.0.Alpha2.jar"/>
        <resource-root path="antlr-3.4.jar"/>
        <resource-root path="antlr-runtime-3.4.jar"/>
        <resource-root path="ST4-4.0.4.jar"/>
        <resource-root path="infinispan-query-dsl-8.0.1.Final.jar"/>
        <resource-root path="infinispan-remote-query-client-8.0.1.Final.jar"/>
        <resource-root path="infinispan-client-hotrod-8.0.1.Final.jar"/>
    </resources>

    <dependencies>
        <module name="org.hibernate.search.engine"/>
        <module name="org.infinispan.commons"/>
        <module name="org.infinispan"/>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="org.jboss.logging"/>
        <module name="org.jboss.marshalling"/>
        <module name="org.jboss.marshalling.river"/>
        <module name="sun.jdk"/>
    </dependencies>
</module>
{code}

If I went in a wrong direction and it is not advisable to configure one's indexable caches within the Infinispan subsystem in standalone-ha.xml, please, set me on the right path. Perhaps the only way is to create my own cache manager, configuration and caches programatically?

Originally, I steered away from the programatic runtime configuration approach, because having one JGroups transport defined in standalone-ha.xml and a different one defined for my own caches with {{.transport().addProperty("configurationFile", "my-jgroups-tcp.xml")}} had been causing network troubles to my test cluster the most obnoxious manifestation of which is [WFLY-5158]. With caches defined in standalone-ha.xml, clustering works like a breeze -- but for the absence of indexing.

> Infinispan subsystem attributes are not persisted
> -------------------------------------------------
>
>                 Key: WFLY-5539
>                 URL: https://issues.jboss.org/browse/WFLY-5539
>             Project: WildFly
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 10.0.0.CR2
>            Reporter: Michal Karm Babacek
>            Assignee: Paul Ferraro
>            Priority: Critical
>             Fix For: 10.0.0.CR3
>
>
> Certain cache configuration attributes are not persisted after reload. I find this issue being a critical one because if effectively prevents me from enabling indexing on my custom caches.
> For instance, there are no attributes *indexing* nor *batching* in the [jboss-as-infinispan_4_0.xsd|https://github.com/wildfly/wildfly/blob/master/clustering/infinispan/extension/src/main/resources/schema/jboss-as-infinispan_4_0.xsd], whereas CLI allows one to set these; nonetheless in vain, because the values are not persisted.
> {noformat}
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:read-attribute(name=batching)
> {
>     "outcome" => "success",
>     "result" => false
> }
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:read-attribute(name=indexing)
> {
>     "outcome" => "success",
>     "result" => "NONE"
> }
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:write-attribute(name=indexing,value=ALL)
> {
>     "outcome" => "success",
>     "response-headers" => {
>         "operation-requires-reload" => true,
>         "process-state" => "reload-required"
>     }
> }
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:write-attribute(name=batching,value=true)
> {
>     "outcome" => "success",
>     "response-headers" => {
>         "operation-requires-reload" => true,
>         "process-state" => "reload-required"
>     }
> }
> [standalone at localhost:9990 /] reload
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:read-attribute(name=indexing)
> {
>     "outcome" => "success",
>     "result" => "NONE"
> }
> [standalone at localhost:9990 /] /subsystem=infinispan/cache-container=server/replicated-cache=BLACKLIST_CACHE:read-attribute(name=batching)
> {
>     "outcome" => "success",
>     "result" => false
> }
> {noformat}
> Is there any other way how one could enable indexing on one's cache? E.g. my cache:
> {code}
> <replicated-cache name="BLACKLIST_CACHE" mode="ASYNC">
>     <locking acquire-timeout="60000" concurrency-level="3000" isolation="REPEATABLE_READ"/>
>     <transaction mode="NONE"/>
>     <eviction max-entries="10000000" strategy="NONE"/>
>     <expiration interval="-1" lifespan="-1" max-idle="-1"/>
>     <file-store/>
>     <state-transfer timeout="300000"/>
> </replicated-cache>
> {code} Obviously, adding aforementioned attributes to the cache element results in an XML parsing error...
> Last but not least, is there any way how to circumvent the bug and force indexing so as to avoid deadly exceptions such as: {noformat}java.lang.IllegalArgumentException: Indexing was not enabled on this cache. interface org.hibernate.search.spi.SearchIntegrator not found in registry{noformat}? I'm very well aware of the possibility to configure the whole cache programatically in runtime using CacheManager -- but that is the very situation I was trying to migrate away from.
> Thx for comments.
>  



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list