You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2026/10/22 19:15:00 UTC

[jira] [Commented] (HDDS-16254) ozone.om.ratis.server.retry.cache.timeout has no effect

    [ https://issues.apache.org/jira/browse/HDDS-16254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18130499#comment-18130499 ] 

Siyao Meng commented on HDDS-16254:
-----------------------------------

[Jira cleanup 2026-10-22] Resolving as Implemented. The ineffective old retry-cache key was deprecated and explicit configuration is handled with a migration warning.

Evidence:
* https://github.com/apache/ozone/pull/11096
* https://github.com/apache/ozone/commit/c6f51fbec4cfbaeb3f137eb1a5d5bb17e0999928
* https://github.com/apache/ozone/blob/bf3829e6c8ac69ae17585585703f91426dcdf6b3/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java#L118

Feel free to reopen if further work is needed.

> ozone.om.ratis.server.retry.cache.timeout has no effect
> -------------------------------------------------------
>
>                 Key: HDDS-16254
>                 URL: https://issues.apache.org/jira/browse/HDDS-16254
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: YUNG_CHENG
>            Assignee: YUNG_CHENG
>            Priority: Minor
>              Labels: pull-request-available
>
> OzoneManagerRatisServer.newRaftProperties() applies two different config keys to the same Ratis property, raft.server.retrycache.expirytime:
> 1. setRaftRetryCacheProperties() reads ozone.om.ratis.server.retry.cache.timeout (OMConfigKeys, documented in ozone-default.xml with a 600000ms default) and calls RaftServerConfigKeys.RetryCache.setExpiryTime().
> 2. At the end of newRaftProperties(), getOMHAConfigs(conf).forEach(properties::set) copies every ozone.om.ha.* property into the RaftProperties with the prefix trimmed. OzoneManagerRatisServerConfig declares ozone.om.ha.raft.server.retrycache.expirytime with @Config(defaultValue = "300s"), which the config annotation processor emits into ozone-manager-default.xml. Since that file is an OzoneConfiguration default resource, the key is always present even when the operator never sets it.
> Step 2 runs after step 1, so ozone.om.ratis.server.retry.cache.timeout is unconditionally overwritten and can never take effect.
> h3. Reproduction
> {code:java}
> OzoneConfiguration conf = new OzoneConfiguration();
> conf.set(OMConfigKeys.OZONE_OM_RATIS_SERVER_RETRY_CACHE_TIMEOUT_KEY, "42s");
> RaftProperties props = OzoneManagerRatisServer.newRaftProperties(conf, port, dir);
> RaftServerConfigKeys.RetryCache.expiryTime(props);   // 300s, not 42s
> {code}
> h3. Impact
> Operators tuning the documented ozone.om.ratis.server.retry.cache.timeout get no effect and no warning. The 600000ms default advertised in ozone-default.xml has never been the effective value; the effective default is 300s.
> Introduced by HDDS-4329 (commit 46690430d7), which added the new config and the getOMHAConfigs() override without removing the old key.
> h3. Proposed fix
> Deprecate ozone.om.ratis.server.retry.cache.timeout, remove it from ozone-default.xml, drop setRaftRetryCacheProperties(), and standardise on ozone.om.ha.raft.server.retrycache.expirytime. Happy to discuss an alternative that keeps the old key working with a deprecation warning instead.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org