Search code examples
cachingin-memory-databaseoracle-coherence

coherence does not backup entries when using putall


I use coherence for caching some data. The cache is partitioned, off-heap and configured to backup entries on one another node. So when i have 2 nodes and close one of them, cache size must not decrease and data on closed node must be recovered from backup. this scenario is Ok when i use namedcache.put method to adding entries to cache. My problem is that when i use namedcache.putall, entries dont backed up and when i close one node, entries on that node removed from cache.

Update 1 : This problem exist when using off-heap mode. In heap mode, no problem exist.

Used cache scheme is as following:

<distributed-scheme>
    <scheme-name>history-map</scheme-name>
    <service-name>HistoryMap</service-name>
    <serializer>
        <instance>
            <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
            <init-params>
                <init-param>
                    <param-type>String</param-type>
                    <param-value>pof-config.xml</param-value>
                </init-param>
            </init-params>
        </instance>
    </serializer>

    <thread-count>10</thread-count>
    <local-storage>true</local-storage>
    <partition-count>100</partition-count>
    <backup-count>1</backup-count>
    <backup-storage>
        <type>off-heap</type>
        <initial-size>1MB</initial-size>
        <maximum-size>50MB</maximum-size>
    </backup-storage>

    <backing-map-scheme>
        <partitioned>true</partitioned>
        <external-scheme>
            <nio-memory-manager>
                <initial-size>1MB</initial-size> 
                <maximum-size>50MB</maximum-size>
            </nio-memory-manager>
            <high-units>125</high-units>
            <unit-calculator>BINARY</unit-calculator>
            <unit-factor>1048576</unit-factor>
        </external-scheme>
    </backing-map-scheme>           
    <autostart>true</autostart>         
</distributed-scheme>

Solution

  • I can reproduce the problem, and have created a bug for the issue. We have a bug in populating backingMapEvent for SerializationMap which cause entries not being correctly backed up The problem should be fixed soon.