Changes in 20.1.20

The following changes were made in Oracle NoSQL Database Release 20.1.20 Enterprise Edition.

Bug and Performance Fixes

  1. Fixed a bug where a LOG_FILE_NOT_FOUND exception could be generated. If TTL is used and some rows are using TTL in hours and others in days, or there is an update to the TTL with a unit change from hours to days, then it is possible to get the exception after the rows get deleted. To recover from this exception, a restore was needed.

  2. Fixed a problem where setting the DNS cache TTL parameters from makebootconfig can result in a violation warning when running "verify configuration" command from the admin. The issue is that the SN correctly adopts the set TTL value but the admin is not updated during SN deployment resulting in the violation warning on the discrepancy. The warning looks like the following:

    Verify: sn1: Mismatch between metadata in admin service and sn1: 
        Parameters in Admin database but not from configuration for 
        service sn1: dnsCacheTTL=10
  3. Fixed a compatibility problem. The problem would occur when upgrading from 19.5 release to a 20.1 release prior to this patch due to an incompatible change on the EndpointGroupStats object. When the problem occurs during the upgrade, the admin would observe a NullPointerException and a stack trace that looks like the following:

    2020-06-02 09:23:12.398 UTC SEVERE - [admin1] Collector: 
    	exception when polling agentId: 
    	rg1-rn3 Exception: java.lang.NullPointerException
    at oracle.kv.impl.measurement.EndpointGroupStats.getFormattedStats(
    at oracle.kv.impl.measurement.EndpointGroupStats.getFormattedStats(
    at oracle.kv.impl.monitor.views.PerfView.displayConciseStats(
    at oracle.kv.impl.monitor.views.PerfView.applyNewInfo(
  4. Fixed a problem where delete operations could deadlock with concurrent delete requests on the same key.

  5. Added the new parameters javaRnParamsOverride, javaAnParamsOverride, and javaAdminParamsOverride to allow users to alter the JVM command line parameters for Replication Nodes, Arbiter Nodes, and Admin Nodes. Users can set these parameters for individual services, and can also make policy settings to apply to future instances of the associated service types. Going forward, users should set these new parameters rather than the javaMiscParams parameter, which should now be considered reserved for system use, although the old parameter is still supported for compatibility in old stores.

  6. Fixed an incompatibility with the 20.1 client when used with earlier version stores. This bug would cause some table related calls to fail with a java.lang.UnsupportedOperationException.