3 Known Issues and Workarounds

Learn about the known issues at the time of release.

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:

  1. Shutdown the entire cluster.

  2. Remove the current active directory contents for the cluster and service affected on each cluster member.

  3. Copy (recursively) the contents of the trash directory for each service to the active directory.

  4. Restore the partition count to the original value.

  5. Restart the cluster.

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.

When you run Coherence-based applications prior to release 14.1.1.2206 with the 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.