# How to Start and Stop Reverse ETL Syncs


When you [set up a Reverse ETL connection]({{< ref "data-pipelines/reverse-etl/developer-guides/retl-connection-setup.md" >}}), RudderStack performs a full sync the first time, that is, it syncs all the data from the source. Subsequently, it incrementally syncs any new data since the last sync according to the [sync schedule]({{< ref "data-pipelines/reverse-etl/developer-guides/retl-connection-setup.md#schedule-syncs" >}}), or whenever you press the **Sync Now** button.

RudderStack also lets you force a full data resync or stop an ongoing sync.

## Start and stop syncs

Go to the **Syncs** tab of your Reverse ETL connection and click **Sync Now** to start a new sync. As mentioned above, this new sync will be incremental in nature, that is, it syncs only the new data available in the warehouse since the last sync.

{{< image src="images/retl-sources/sync-now.webp" alt="Sync now option" >}}

Choose the **Reset History and Full Sync** option to reset the sync history and force a full data sync.

{{< image src="images/retl-sources/reset-history-full-sync.webp" alt="Reset History and Full Sync option" >}}

Click the **Stop Now** button to stop an ongoing sync.

{{< image src="images/retl-sources/stop-sync.webp" alt="Stop sync option" >}}

In the confirmation pop up, click **Stop Sync** to cancel and stop the sync.

{{< image src="images/retl-sources/stop-sync-confirmation.webp" alt="Stop sync confirmation" >}}

## Important considerations

- Once you stop a sync, any data that RudderStack reads from the warehouse and is on the fly may not be stopped or dropped from being delivered to the destination. RudderStack only stops reading and sending any new data from the warehouse to the destination and prevents the sync from progressing.
- For a very low number of deltas (new data since the last attempted sync), you may sometimes see a "0 deltas succeeded" after you stop the sync.
- Once you cancel a sync, the behavior of the next sync depends on the [type]({{< ref "data-pipelines/reverse-etl/developer-guides/faq.md#what-is-the-difference-between-the-full-and-incremental-sync-types" >}}) of the cancelled sync. For example, if a cancelled sync is an incremental sync, then the next sync will be incremental too. Similarly, if the cancelled is a full sync, then the next sync will be a full sync.
- RudderStack makes sure there is no data loss in the next sync as a result of the previous cancelled sync irrespective of the sync type (full/incremental) or [sync mode]({{< ref "data-pipelines/reverse-etl/developer-guides/sync-modes.md" >}})(upsert/mirror).
- The stopped sync is marked as **Aborted** in the dashboard and does not resume. The next sync starts as a new run. See [Aborted syncs]({{< ref "data-pipelines/reverse-etl/developer-guides/sync-observability.md#aborted-syncs" >}}) for how this appears in warehouse sync logs.

## Drain behavior on sync cancellation

{{< info >}}
This process is also applicable for scenarios where a Reverse ETL source is disabled or disconnected from a destination.
{{< /info >}}

 When you stop a Reverse ETL sync, some events from that sync may already be in flight within RudderStack, waiting to be delivered to your destination. To prevent these leftover events from interfering with your next sync — and so you don't have to wait for them to either reach the destination or fail — RudderStack discards any in-flight events belonging to the stopped sync.

After you stop a sync, RudderStack automatically discards any leftover in-flight events from that sync. RudderStack recommends waiting a short while before triggering the next sync so this cleanup can complete.

<br />
