Using a custom cache container on EAP 7 to externalize HTTP sessions to RHDG breaks deployment

Solution Verified - Updated -

Issue

We migrated our 6.4.19 configurations to 7.1.5 and are only having issues with our app deployments that have a dependency on some cache containers in the infinispan subsystem. We are receiving the following error:

2019-01-03 18:22:15,260 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 74) WFLYCLINF0002: Started app.ear.app.war cache from remote-http-container container
2019-01-03 18:22:15,266 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "app.ear")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => [
        "org.wildfly.clustering.infinispan.cache.web.app.ear.app.war",
        "org.wildfly.clustering.cache.node-factory.remote-http-container.default-server"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.clustering.web.\"app.ear.app.war\" is missing [org.wildfly.clustering.cache.node-factory.remote-http-container.default-server]",
        "jboss.clustering.web.locator.\"app.ear.app.war\" is missing [org.wildfly.clustering.infinispan.cache.web.app.ear.app.war]"
    ]
}

Our infinispan subsystem looks like the following:

        <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
            <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                <local-cache name="default">
                    <transaction mode="BATCH"/>
                </local-cache>
            </cache-container>
            <cache-container name="remote-http-container" default-cache="remote-http-cache" module="org.wildfly.clustering.web.infinispan">
                    <transport lock-timeout="60000"/>
                    <invalidation-cache name="remote-http-cache" mode="ASYNC">
                        <locking isolation="REPEATABLE_READ"/>
                        <transaction mode="BATCH"/>
                        <remote-store remote-servers="jdg-1 jdg-2" cache="repl-app" socket-timeout="60000" shared="true" passivation="false" purge="false" preload="false"/>
                    </invalidation-cache>
            </cache-container>
            <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                <local-cache name="passivation">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="true" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
                <local-cache name="passivation">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="true" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="hibernate" module="org.hibernate.infinispan">
                <local-cache name="entity">
                    <transaction mode="NON_XA"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="local-query">
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="timestamps"/>
            </cache-container>
        </subsystem>

RHDG 1 and RHDG 2 nodes are properly defined as outbound socket bindings as well. The external cache container itself seems to be defined correctly and working. We tried removing that custom part of the configuration for testing purposes and still got similar missing dependency errors.

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.2
    • 7.3

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content