**Found in version**
- Observed in 8.2.3, but might exist longer

**Steps to reproduce**
On a multi node cloud cluster (might also work on a local multi node cluster):
- Create a transform with a retention policy
- Update the transform and remove the retention policy

**Expected result**
- The retention policy is removed

**Actual result**
- This sometimes results in an error:
```
An error occurred calling the API endpoint to update transforms.
Bad Request: [illegal_argument_exception: [illegal_argument_exception] Reason: 
Unknown NamedWriteable [org.elasticsearch.xpack.core.transform.transforms.RetentionPolicyConfig][null_retention_policy]]:
Unknown NamedWriteable [org.elasticsearch.xpack.core.transform.transforms.RetentionPolicyConfig][null_retention_policy]
```

**Additional information**
- Quote from slack discussion with @benwtrent:
  > It wouldn’t happen if you hit a node that can execute the update immediately without serializing to a different node
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/transform/transforms/NullRetentionPolicyConfig.java
/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0; you may not use this file except in compliance with the Elastic License
 * 2.0.
 */
package org.elasticsearch.xpack.core.transform.transforms;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.xcontent.NamedXContentRegistry;
import org.elasticsearch.xcontent.ParseField;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xpack.core.deprecation.DeprecationIssue;
import java.io.IOException;
import java.util.function.Consumer;
/**
 * {@link NullRetentionPolicyConfig} is the implementation of {@link RetentionPolicyConfig} used when the user explicitly sets the
 * retention_policy to {@code null} in the _update request:
 *
 * POST _transform/some-transform/_update
 * {
 *   "retention_policy": null
 * }
 *
 * This is treated *differently* than simply omitting retention_policy from the request as it instructs the API to clear existing
 * retention_policy from some-transform.
 */
public class NullRetentionPolicyConfig implements RetentionPolicyConfig {