# Forcing a full/partial sync between nodes in a redundant pair

**URL:** <https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385>\
**Category:** Module Development\
**Tags:** sdk\
**Created:** [February 26, 2024, 6:33pm UTC](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385 "2024-02-26T18:33:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick\_Gendron](https://avatars.discourse-cdn.com/v4/letter/n/bcef8e/32.png) [@Nick\_Gendron](https://forum.inductiveautomation.com/u/Nick_Gendron)\
**Post date:** [February 26, 2024, 6:33pm UTC](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385/1 "2024-02-26T18:33:05Z")

</div>

In a module I am developing, I want to programmatically initiate both a full and partial sync when certain conditions are met. I was looking through the Javadoc's and found some interfaces that seem related to this, but no concrete implementations. Is there a method that will allow me to force a redundancy sync in the Java SDK?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 26, 2024, 6:52pm UTC](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385/2 "2024-02-26T18:52:00Z")

</div>

Yes, you invoke `.postRuntimeUpdate()` from the `RuntimeStateManager` that you get from the `RedundancyManager` from the gateway context.

The payload you supply is simply any `Serializable` object. Your redundancy **handler** on the other end must examine its type (if you can send multiple types) to determine how to dispatch it.

I declare a handler like so:

```auto
public class RedundancyHandler implements Runnable, RedundancyStateListener, RuntimeStateProvider {
....
}

```

The gateway itself will call the methods for getting and setting full state whenever a user calls for it on the gateway web interfaces. You are responsible for scheduling and applying partial updates (if desired). That's why I include the `Runnable` interface.

(These methods don't let you do anything to other modules or the gateway as a whole, but you can post any kind of sync for **your** module.)

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [June 19, 2024, 9:35pm UTC](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385/3 "2024-06-19T21:35:08Z")

</div>

@pturmel RuntimeStateManager::postRuntimeUpdate is deprecated. Any idea what is the new method to use ?
