3 Known Issues and Workarounds
This chapter includes the following sections:
Changing the Partition Count When Using Active Persistence
Issue
The partition count cannot be changed when using active persistence. If you change a services partition count, then on restart of the services all active data is moved to the persistence trash and must be recovered after the original partition count is restored. Data that is persisted can only be recovered to services running with the same partition count.
Ensure that the partition count is not modified if active persistence is being used. If the partition count is changed, then a message similar to the following is displayed when the services are started:
<Warning> (thread=DistributedCache:DistributedCachePersistence, member=1): Failed to recover partition 0 from SafeBerkeleyDBStore(...); partition-count mismatch 501(persisted) != 277(service); reinstate persistent store from trash once validation errors have been resolved
The message indicates that the change in the partition-count is not supported and the current active data has been copied to the trash directory.
Workaround
To recover the data:
-
Shutdown the entire cluster.
-
Remove the current active directory contents for the cluster and service affected on each cluster member.
-
Copy (recursively) the contents of the trash directory for each service to the active directory.
-
Restore the partition count to the original value.
-
Restart the cluster.
Parent topic: Known Issues and Workarounds
Binary Incompatibility with Older Versions
There is a binary incompatibility between Oracle Coherence release 14.1.1.0 and Oracle Coherence release 14.1.1.2206. This incompatibility requires upgrading users to recompile your applications against 14.1.1.2206. It is a binary incompatibility only; not an API or functional incompatibility.
coherence.jar
file from that release, you may encounter the
following exception at
runtime:java.lang.ClassNotFoundException: com.tangosol.net.NamedCache$Option
For example, from Session.getCache("<cache
name>")
calls. This exception occurs because the nested class
Option
moved, in a refactoring, from
NamedCache
to its supertype NamedMap
between
14.1.1.0 and 14.1.1.2206. This refactoring preserves the API compatibility for the
previous code using NamedCache.Option
, but requires recompilation
of that code against the 14.1.1.2206 coherence.jar
.
Workaround
To run a Coherence-based application prior to Oracle Coherence 14.1.1.2206 with that release, you should first recompile the application against 14.1.1.2206. Recompiling will avoid encountering a binary incompatibility exception at runtime.
Parent topic: Known Issues and Workarounds