mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-04 10:11:10 +01:00 
			
		
		
		
	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,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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user