---
title: failover | CodeWeaver Docs
description: API reference for codeweaver.engine.config.failover
url: "https://docs.knitli.com/api/engine/config/failover"
type: static
generatedAt: "2026-04-17T17:21:08.476Z"
---

# failover
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/engine/config/failover.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F&text=failover)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F&text=failover)[Share on Bluesky](https://bsky.app/intent/compose?text=failover%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F&title=failover)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F&t=failover)[Share on Email](mailto:?subject=failover&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F)[Share on WhatsApp](https://wa.me/?text=failover%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fconfig%2Ffailover%2F&text=failover)
# `codeweaver.engine.config.failover`
[Section titled “codeweaver.engine.config.failover”](#codeweaverengineconfigfailover)
Failover configuration settings for CodeWeaver.

## Class: `FailoverSettings`
[Section titled “Class: FailoverSettings”](#class-failoversettings)
Settings for vector store failover and service resilience.

CodeWeaver’s backup system is intelligent in that it only activates if you may need it. It is automatically disabled if:

 - Your configured embedding provider is local.
 - Your vector store provider is local.

## Features
[Section titled “Features”](#features)
 - **Reranking**. Automatically injects a backup local reranking model, which is simply accessed at query time if the primary model is unavailable. This is *always* on.
 - **Backup Vectors**. If your embedding provider is remote, and your vector store is local, the system will add a backup vector to each stored point using the backup local model, ensuring that queries can still be served even if the primary embedding provider is unavailable. The system will automatically manage the synchronization of these backup vectors (it simply checks if all expected vectors are on all points and adds any missing ones).
 - **Write-Ahead Logging (WAL)**. If your embedding provider is remote, it uses write-ahead-logging (WAL) to store a local copy of the vectors each time it writes to the primary store. This uses Qdrant’s built-in ability to use vectors stored in a directory using RocksDB. When the primary returns, the system will reconcile the local WAL with the primary store to ensure consistency.
 - **Resolves Asymmetric Models**. If your embedding model is capable of asymmetric retrieval (currently only `voyage-4` series models), the system will automatically switch from your primary to a locally compatible model (for voyage-4 series, `voyage-4-nano`). Since embeddings are compatible across these models, you can continue to retrieve and generate new embeddings without interruption, albeit at a slight loss of accuracy for generated embeddings assuming your primary is `voyage-4-large` (about 6 points on RTEB-Code from 86 to 80, which is still better than any other currently available alternative). The advantage here is that you don’t need to generate and keep a third set of embeddings for the local model (the second being your sparse embeddings).

## Class: `FailoverSettingsDict`
[Section titled “Class: FailoverSettingsDict”](#class-failoversettingsdict)
TypedDict for failover settings.

## Function: `get_default_failover_settings`
[Section titled “Function: get_default_failover_settings”](#function-get_default_failover_settings)

**

```
get_default_failover_settings()
```

Get default failover settings (cached lazy initialization).

This function lazily initializes default failover settings only when first accessed, avoiding the circular import issue from module-level instantiation.

Returns: Dictionary containing default failover settings.