[infinispan-issues] [JBoss JIRA] (ISPN-4348) Configuration parser loses <persistence/> element configuration

Dan Berindei (Jira) issues at jboss.org
Fri Mar 13 03:49:37 EDT 2020


     [ https://issues.redhat.com/browse/ISPN-4348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Berindei resolved ISPN-4348.
--------------------------------
    Fix Version/s: 7.0.0.Final
       Resolution: Done


Fixed with ISPN-4153

> Configuration parser loses <persistence/> element configuration
> ---------------------------------------------------------------
>
>                 Key: ISPN-4348
>                 URL: https://issues.redhat.com/browse/ISPN-4348
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Configuration, Loaders and Stores
>    Affects Versions: 6.0.2.Final
>            Reporter: Alexey Olenev
>            Priority: Major
>             Fix For: 7.0.0.Final
>
>
> I have a following configuration of named cache:
> <namedCache name="string-cache">
>     <clustering mode="distribution">
>         <sync />
>         <stateTransfer fetchInMemoryState="true" />
>         <hash numOwners="2" />
>     </clustering>
>     <persistence>
>         <store class="org.sproot_grid.infinispan.cachestore.StringCacheStore"  
>             fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false">
>         </store>
>     </persistence>
> </namedCache>
> where StringCacheStore is my own implementation of CacheStore (implements AdvancedLoadWriteStore).
> I start cluster using constructor DefaultCacheManager(String configurationFile), but cache modifications don't trigger write-through because there is no stores in Configuration object.
> I investigated it in debug mode and found that configuration parser (Parser60) reads <store /> element but doesn't apply it to ConfigurationBuilder object if store is not an instance of SingleFileStore or ClusterLoader, so it means that I can't configure my custom CacheStore
> This is a copy of my stack during configuration reading:
> Thread [main] (Suspended (breakpoint at line 640 in Parser60))      
>     Parser60.parseStore(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 640      
>     Parser60.parsePersistence(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 555      
>     Parser60.parseCache(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 150      
>     Parser60.parseNamedCache(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 109      
>     Parser60.readElement(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 76      
>     ParserRegistry.parseElement(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 141      
>     ParserRegistry.parse(XMLExtendedStreamReader, ConfigurationBuilderHolder) line: 123      
>     ParserRegistry.parse(InputStream, ConfigurationBuilderHolder) line: 110      
>     ParserRegistry.parse(InputStream) line: 97      
>     DefaultCacheManager.<init>(InputStream, boolean) line: 253      
>     DefaultCacheManager.<init>(String, boolean) line: 226      
>     DefaultCacheManager.<init>(String) line: 213      
>     ClusterFacade.init() line: 48      
>     ClusterFacade.getFacade() line: 41      
>     ClusterFacadeTest.initCluster() line: 21      
>     NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]      
>     NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57      
>     DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43      
>     Method.invoke(Object, Object...) line: 601      
>     FrameworkMethod$1.runReflectiveCall() line: 44      
>     FrameworkMethod$1(ReflectiveCallable).run() line: 15      
>     FrameworkMethod.invokeExplosively(Object, Object...) line: 41      
>     RunBefores.evaluate() line: 27      
>     BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 236      
>     JUnit4TestMethodReference(JUnit4TestReference).run(TestExecution) line: 50      
>     TestExecution.run(ITestReference[]) line: 38      
>     RemoteTestRunner.runTests(String[], String, TestExecution) line: 467      
>     RemoteTestRunner.runTests(TestExecution) line: 683      
>     RemoteTestRunner.run() line: 390      
>     RemoteTestRunner.main(String[]) line: 197



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list