# `Trellis.DrainFailure`
[🔗](https://github.com/salesforce-misc/trellis/blob/v0.1.0-alpha/clients/elixir/lib/trellis/status.ex#L179)

A drain page that keeps failing with nothing charged or paused, as
`Trellis.status/2` and `Trellis.self_check/3` report it: the segment whose
page fails (`seg_seq`), the qualified source tables it holds changes to
(`tables`), the latest failure's `error` and its `sqlstate` (`nil` when it
didn't come from Postgres), when a drain first and last failed on it
(`since`, `last_seen`), and how many drain passes have (`attempts`).

# `t`

```elixir
@type t() :: %Trellis.DrainFailure{
  attempts: pos_integer(),
  error: String.t(),
  last_seen: DateTime.t(),
  seg_seq: integer(),
  since: DateTime.t(),
  sqlstate: String.t() | nil,
  tables: [String.t()]
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
