# UFS Fallback

If a client tries to read data from a worker and that worker is unavailable, the client can automatically **fallback** to reading the data directly from the Under File System. This ensures the application's read request succeeds without interruption, even if the Alluxio cluster becomes unresponsive.

When an Alluxio client fails to read data from its preferred worker, it will automatically attempt to recover by trying different sources in the following order:

1. **Retry with Local Replicas:** If data replication is enabled, the client will first try to read from other workers in the same cluster that have a replica of the requested data.
2. **Failover to Remote Clusters (Multi-AZ):** If all local replicas are unavailable and multi-AZ support is enabled, the client will then try to read from workers in other federated clusters, typically located in different Availability Zones.
3. **Fallback to UFS:** If all Alluxio workers (both local and remote) are unavailable, the client will fall back to reading the data directly from the Under File System (UFS) as a last resort.

This layered approach maximizes the chance of a successful read while prioritizing the fastest available data source.

The UFS fallback feature is enabled by default. In some cases, such as to prevent a "[thundering herd](https://en.wikipedia.org/wiki/Thundering_herd_problem)" of requests to your UFS, you may want to disable it.

| Property                                   | Description                                                                                            | Default |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------- |
| `alluxio.dora.client.ufs.fallback.enabled` | If `true`, the client will fall back to reading from the UFS if it cannot read from an Alluxio worker. | `true`  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.alluxio.io/ee-ai-en/ai-3.8-15.1.x/high-availability/ufs-fallback.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
