aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorGravatar Ricardo Katz <rikatz@users.noreply.github.com> 2020-07-15 14:59:45 -0300
committerGravatar GitHub <noreply@github.com> 2020-07-15 19:59:45 +0200
commit3ebb46320a4b47af1405bd413dee9c8937dfd88c (patch)
tree8d4de96a47e748d230f4eacecbf6732761da965d /plugin
parentd37173814913aa7488951d4a4f256a8662c3c45e (diff)
downloadcoredns-3ebb46320a4b47af1405bd413dee9c8937dfd88c.tar.gz
coredns-3ebb46320a4b47af1405bd413dee9c8937dfd88c.tar.zst
coredns-3ebb46320a4b47af1405bd413dee9c8937dfd88c.zip
Improve gRPC Plugin when backend is not available (#3966)
* Improve gRPC Plugin when backend is not available Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br> * Improve gRPC Plugin when backend is not available Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>
Diffstat (limited to 'plugin')
-rw-r--r--plugin/grpc/grpc.go22
1 files changed, 17 insertions, 5 deletions
diff --git a/plugin/grpc/grpc.go b/plugin/grpc/grpc.go
index 3dda225df..2ecf29597 100644
--- a/plugin/grpc/grpc.go
+++ b/plugin/grpc/grpc.go
@@ -3,6 +3,7 @@ package grpc
import (
"context"
"crypto/tls"
+ "errors"
"time"
"github.com/coredns/coredns/plugin"
@@ -36,10 +37,10 @@ func (g *GRPC) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
}
var (
- span, child ot.Span
- ret *dns.Msg
- err error
- i int
+ span, child ot.Span
+ ret *dns.Msg
+ upstreamErr, err error
+ i int
)
span = ot.SpanFromContext(ctx)
list := g.list()
@@ -73,6 +74,8 @@ func (g *GRPC) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
child.Finish()
}
+ upstreamErr = err
+
// Check if the reply is correct; if not return FormErr.
if !state.Match(ret) {
debug.Hexdumpf(ret, "Wrong reply for id: %d, %s %d", ret.Id, state.QName(), state.QType())
@@ -87,7 +90,11 @@ func (g *GRPC) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
return 0, nil
}
- return 0, nil
+ if upstreamErr != nil {
+ return dns.RcodeServerFailure, upstreamErr
+ }
+
+ return dns.RcodeServerFailure, ErrNoHealthy
}
// NewGRPC returns a new GRPC.
@@ -129,3 +136,8 @@ func (g *GRPC) isAllowedDomain(name string) bool {
func (g *GRPC) list() []*Proxy { return g.p.List(g.proxies) }
const defaultTimeout = 5 * time.Second
+
+var (
+ // ErrNoHealthy means no healthy proxies left.
+ ErrNoHealthy = errors.New("no healthy gRPC proxies")
+)
n-call'>fix/nested-get-collection-call Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/packages/astro/test/fixtures/astro-client-only (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-01-12[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-11[ci] yarn formatGravatar matthewp 1-4/+2
2022-01-11Fix: static-build with .md pages (#2363)Gravatar Matthew Phillips 6-3/+66
2022-01-11Restore accessibility check on docs site (#2362)Gravatar Jonathan Neal 2-14/+281
2022-01-11chore: remove www (#2361)Gravatar Nate Moore 87-3240/+11
2022-01-11Fix build output in static build mode (#2358)Gravatar Matthew Phillips 3-1/+16
2022-01-11Fix renderer-solid (fix #2336) (#2359)Gravatar toSayNothing 2-1/+6
2022-01-11[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-10Use smooth scrolling with reduced motion has no preference (#2355)Gravatar Jonathan Neal 1-3/+7
2022-01-10move changeset to run after build, no test required (#2341)Gravatar Fred K. Schott 1-2/+2
2022-01-10Note that Astro also supports `<Fragment>` syntax (#2354)Gravatar Zade Viggers 1-16/+18
2022-01-10smooth scroll behavior property added (#2256)Gravatar Divyamrit 1-1/+3
2022-01-10Add Astro Blog RSS feed (#2301)Gravatar Rafael Bardini 2-3/+20
2022-01-10Update Cloudflare Pages guide (#2345)Gravatar Jacob Rask 1-2/+2
2022-01-10[ci] update lockfile (#2351)Gravatar Fred K. Schott 1-116/+116
2022-01-10Update instructions for the monorepo (#2274)Gravatar Caleb Jasik 1-5/+12
2022-01-10Fix Astro Preview Pathing Issues (#2338)Gravatar Jonathan Neal 5-144/+150
2022-01-10[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-09[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-08[ci] update lockfile (#2344)Gravatar Fred K. Schott 1-33/+33
2022-01-08Fix sitemap.xml page urls (#2335)Gravatar Jonathan Neal 4-4/+8
2022-01-08[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-07Create .git-blame-ignore-revs (#2254)Gravatar Jonathan Neal 2-0/+8
2022-01-07Fix issue with plugins running twice in dev and build (#2323)Gravatar Jonathan Neal 2-2/+5
2022-01-07[ci] yarn formatGravatar matthewp 1-8/+8
2022-01-07[ci] release (#2339)astro@0.22.9Gravatar github-actions[bot] 28-39/+40
2022-01-07[ci] yarn formatGravatar matthewp 3-7/+8
2022-01-07Handle loading the Code package in the static build (#2337)Gravatar Matthew Phillips 8-4/+87
2022-01-07[ci] update lockfile (#2334)Gravatar Fred K. Schott 1-154/+154
2022-01-07[ci] yarn formatGravatar matthewp 1-8/+8
2022-01-07[ci] release (#2333)astro@0.22.8Gravatar github-actions[bot] 28-39/+40
2022-01-07[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-06[ci] yarn formatGravatar matthewp 4-54/+54
2022-01-06[ci] update lockfile (#2327)Gravatar Fred K. Schott 1-58/+64
2022-01-06Fix subpath support regressions (#2330)Gravatar Matthew Phillips 12-22/+566
2022-01-06[ci] yarn formatGravatar natemoo-re 1-2/+2
2022-01-06Added "IntelliSense for TypeScript" (#2326)astro@0.22.7Gravatar Morritz 1-0/+17
2022-01-06[ci] collect statsGravatar FredKSchott 1-0/+1
2022-01-06[ci] yarn formatGravatar FredKSchott 1-8/+8
2022-01-05[ci] release (#2320)Gravatar github-actions[bot] 31-54/+46
2022-01-05chore: update compiler (#2324)Gravatar Nate Moore 3-5/+10