pkg/fall: add (a lot of) guidance (#3450)
update the pkg doc to talk about various trade off Fixes #2723 Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
parent
e1782c46e8
commit
1e3330c12b
1 changed files with 13 additions and 1 deletions
|
@ -1,4 +1,16 @@
|
||||||
// Package fall handles the fallthrough logic used in plugins that support it.
|
// Package fall handles the fallthrough logic used in plugins that support it. Be careful when including this
|
||||||
|
// functionality in your plugin. Why? In the DNS only 1 source is authoritative for a set of names. Fallthrough
|
||||||
|
// breaks this convention by allowing a plugin to query multiple sources, depending on the replies it got sofar.
|
||||||
|
//
|
||||||
|
// This may cause issues in downstream caches, where different answers for the same query can potentially confuse clients.
|
||||||
|
// On the other hand this is a powerful feature that can aid in migration or other edge cases.
|
||||||
|
//
|
||||||
|
// The take away: be mindful of this and don't blindly assume it's a good feature to have in your plugin.
|
||||||
|
//
|
||||||
|
// See http://github.com/coredns/coredns/issues/2723 for some discussion on this, which includes this quote:
|
||||||
|
//
|
||||||
|
// TL;DR: `fallthrough` is indeed risky and hackish, but still a good feature of CoreDNS as it allows to quickly answer boring edge cases.
|
||||||
|
//
|
||||||
package fall
|
package fall
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
Loading…
Add table
Reference in a new issue