Software / code / prosody-modules
Annotate
mod_storage_multi/README.markdown @ 4700:f821eeac0e50
mod_pastebin: Fix pasting when <body> is not the first tag (thanks thorsten)
Introduced in ded630a87563
stanza:get_child() and :get_child_text() operates on the first child
when no name or namespace is given.
If it so happens that the first child is an <thread/> instead of <body>
then it calculates the line length against that instead of the body.
Apparently in the vast majority of clients the <body> is first, so this
issue was not noticed until now.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 29 Sep 2021 13:39:59 +0200 |
| parent | 1887:a7fdab9c14e2 |
| rev | line source |
|---|---|
| 1886 | 1 --- |
| 2 summary: Multi-backend storage module (WIP) | |
| 3 labels: | |
| 4 - NeedDocs | |
|
1887
a7fdab9c14e2
mod_storage_multi: Put in Alpha stage
Kim Alvefur <zash@zash.se>
parents:
1886
diff
changeset
|
5 - Stage-Alpha |
| 1886 | 6 ... |
| 7 | |
| 8 Introduction | |
| 9 ============ | |
| 10 | |
| 11 This module attemtps to provide a storage driver that is really multiple | |
| 12 storage drivers. This could be used for storage error tolerance or | |
| 13 caching of data in a faster storage driver. | |
| 14 | |
| 15 Configuration | |
| 16 ============= | |
| 17 | |
| 18 An example: | |
| 19 | |
| 20 ``` {.lua} | |
| 21 storage = "multi" | |
| 22 storage_multi_policy = "all" | |
| 23 storage_multi = { | |
| 24 "memory", | |
| 25 "internal", | |
| 26 "sql" | |
| 27 } | |
| 28 ``` | |
| 29 | |
| 30 Here data would be first read from or written to [mod\_storage\_memory], | |
| 31 then internal storage, then SQL storage. For reads, the first successful | |
| 32 read will be used. For writes, it depends on the `storage_multi_policy` | |
| 33 option. If set to `"all"`, then all storage backends must report success | |
| 34 for the write to be considered successful. Other options are `"one"` and | |
| 35 `"majority"`. |