Bug 967984
| Summary: | Support For Child Elements of <loader> Missing When Defining Custom Cache Loader | |||
|---|---|---|---|---|
| Product: | [JBoss] JBoss Data Grid 6 | Reporter: | Jonathan Mason <jmason> | |
| Component: | Infinispan, Server | Assignee: | Tristan Tarrant <ttarrant> | |
| Status: | CLOSED UPSTREAM | QA Contact: | Martin Gencur <mgencur> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 6.1.0 | CC: | dereed, jawilson, jdg-bugs | |
| Target Milestone: | --- | |||
| Target Release: | 6.2.0 | |||
| Hardware: | All | |||
| OS: | All | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: |
Red Hat JBoss Data Grid server is not able to parse XML configuration for a custom cache loader if the configuration contains child elements, such as custom properties, inside <loader> element. As a result, JBoss Data Grid server fails to start.
</para>
<para>
The support for child elements of <loader> element has been implemented. As a result, a custom cache loader inside JBoss Data Grid server allows for nested configuration tags and can successfully start with such a configuration.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 973763 (view as bug list) | Environment: | ||
| Last Closed: | 2025-02-10 03:27:50 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 973763 | |||
Works in 6.2.0.DR1 (fixed by https://github.com/infinispan/infinispan-server/commit/e9691aa1d4eb6ac67aadea23d7912002974eb24f + new test in our testsuite). Fixed the doc text by changing "store" to "loader". (The configuration did already work for a cache store, it was missing for a cache loader). This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |
Description of problem: When defining a custom cache loader via configuration file, JBoss Data Grid (JDG) fails to boot due to parsing errors (child elements of <loader>). Looking at org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader_5_2#parseCustomLoader, it seems that there is not support for child elements for <loader>. Version-Release number of selected component (if applicable): JBoss Data Grid 6.1 (based on Infinispan 5.2) How reproducible: Easily Steps to Reproduce: 1). Define a cache with a customer loader like such: <local-cache name="AppProps" start="EAGER"> <transaction mode="NONE"/> <loader class="com.ferguson.xp.SimpleCacheLoader"> <property name="p1">v1</property> </loader> </local-cache> Actual results: JDG fails to boot with XML parsing errors: 14:33:18,864 ERROR [org.jboss.as.server] JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration ... Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[116,27] Message: JBAS014789: Unexpected element '{urn:infinispan:server:core:5.2}property' encountered at org.jboss.as.controller.parsing.ParseUtils.unexpectedElement(ParseUtils.java:85) [jboss-as-controller-7.1.3.Final-redhat-4.jar:7.1.3.Final-redhat-4] ... Expected results: JDG can sucessfully parse elements and boot up cleanly Additional info: