Skip to content

Commit f2894eb

Browse files
author
Paul Glass
committed
Passthrough logger
1 parent 2376c70 commit f2894eb

7 files changed

Lines changed: 60 additions & 51 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ bench:
5555
genvisitor:
5656
go run ./cmd/tools/genvisitor/ > proxy/debug/repair_utf8_gen.go
5757
sed -i '' 's/package main_test/package debug/' proxy/debug/repair_utf8_gen.go
58-
go fmt proxy/debug/repair_utf8_gen.go
58+
make fmt
5959

6060

6161
# Mocks

cmd/tools/genvisitor/emitter.go

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type (
2020
funcSignature string
2121
handlers []*Handler
2222
imports map[string]struct{}
23+
extraImports map[string]struct{}
2324
root *Tree
2425
inScopeVars map[string]struct{}
2526
trailer string
@@ -41,10 +42,11 @@ type (
4142

4243
func NewEmitter(mode Mode) *Emitter {
4344
return &Emitter{
44-
mode: mode,
45-
imports: make(map[string]struct{}),
46-
root: NewTree(),
47-
inScopeVars: map[string]struct{}{},
45+
mode: mode,
46+
imports: make(map[string]struct{}),
47+
extraImports: make(map[string]struct{}),
48+
root: NewTree(),
49+
inScopeVars: map[string]struct{}{},
4850
}
4951
}
5052

@@ -63,6 +65,10 @@ func (e *Emitter) AddHandler(include func(string) bool, invocation func(string)
6365
})
6466
}
6567

68+
func (e *Emitter) AddImport(s string) {
69+
e.extraImports[s] = struct{}{}
70+
}
71+
6672
func (e *Emitter) Visit(mt protoreflect.MessageType) {
6773
if e.mode == Gogo122Version &&
6874
shouldIgnoreTypeIfDoesntExistIn122(string(mt.Descriptor().FullName())) {
@@ -161,6 +167,12 @@ func (e *Emitter) genPreamble(out io.Writer) {
161167
}
162168
writef(out, "%s \"%s\"\n", alias, imp)
163169
}
170+
171+
for imp := range e.extraImports {
172+
writef(out, "\"%s\"\n", imp)
173+
174+
}
175+
164176
writeln(out, `)`)
165177
}
166178

@@ -177,17 +189,17 @@ func (e *Emitter) emit(out io.Writer, parentVar string, node *Tree) {
177189
defer freeVar()
178190
writef(out, "for _, %s := range %s.%s {\n", varName, parentVar, vt.GoGetter())
179191
e.emit(out, varName, node.Children[vt.GoName()])
180-
fmt.Println("}")
192+
writeln(out, "}")
181193
} else if desc.IsList() {
182194
varName, freeVar := e.makeVar("item")
183195
defer freeVar()
184196
writef(out, "for _, %s := range %s.%s {\n", varName, parentVar, vt.GoGetter())
185197
e.emit(out, varName, node.Children[vt.GoName()])
186-
fmt.Println("}")
198+
writeln(out, "}")
187199
} else if oneof := desc.ContainingOneof(); oneof != nil {
188200
writef(out, "switch oneof := %s.%s.(type) {\n", parentVar, vt.GoGetter())
189201
e.emitOneOfCases(out, "oneof", vt, node.Children[vt.GoName()])
190-
fmt.Println("}")
202+
writeln(out, "}")
191203
} else {
192204
varName, freeVar := e.makeVar("y")
193205
defer freeVar()

cmd/tools/genvisitor/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import (
1313

1414
func main() {
1515
emitter := NewEmitter(Gogo122Version)
16+
emitter.AddImport("go.temporal.io/server/common/log")
1617
emitter.SetFunctionSignature(
17-
`func repairInvalidUTF8(vAny any) (ret bool)`,
18+
`func repairInvalidUTF8(logger log.Logger, vAny any) (ret bool)`,
1819
)
1920
emitter.SetTrailer("return")
2021
emitter.AddHandler(
2122
func(s string) bool {
2223
return s == "LastFailure"
2324
},
2425
func(varName string) string {
25-
return fmt.Sprintf(`ret = ret || repairUTF8InLastFailure(%s)`, varName)
26+
return fmt.Sprintf(`ret = ret || repairUTF8InLastFailure(logger, %s)`, varName)
2627
},
2728
)
2829
protoregistry.GlobalTypes.RangeMessages(func(mt protoreflect.MessageType) bool {

cmd/tools/genvisitor/type.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,7 @@ func (v VisitType) GoQualifiedName() string {
3131
func (v VisitType) GoPackageName() string {
3232
pkg := v.ParentFile().Package()
3333
isServerPkg := strings.Contains(string(pkg), "temporal.server.api")
34-
35-
//fmt.Printf("// v = %v\n", v)
36-
//fmt.Printf("// pkg = %v\n", pkg)
3734
if pkg.Name() == "v1" {
38-
//fmt.Printf("// pkg = %v\n", pkg)
3935
pkg = pkg.Parent()
4036
}
4137
result := string(pkg.Name())

cmd/tools/genvisitor/visit.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ func visit(
3333
// }
3434
seenKey := string(obj.Parent().Name() + "." + obj.Name())
3535
if _, ok := seen[seenKey]; ok {
36-
// fmt.Printf("// skipping already seen key %s\n", seenKey)
3736
return
3837
}
3938
seen[seenKey] = struct{}{}

proxy/debug/codec.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ func (c *CodecV2) Name() string {
6969

7070
// Unmarshal implements encoding.CodecV2.
7171
func (c *CodecV2) Unmarshal(data mem.BufferSlice, v any) error {
72-
c.Logger.Info("Unmarshal", tag.NewStringTag("type", fmt.Sprintf("%v", v)))
7372
err := c.delegate.Unmarshal(data, v)
7473
if err != nil && strings.Contains(err.Error(), "invalid UTF-8") {
7574
c.Logger.Warn("invalid UTF-8 error encountered during unmarshal; attempting to repair")
@@ -102,7 +101,7 @@ func (c *CodecV2) Unmarshal(data mem.BufferSlice, v any) error {
102101
return err
103102
}
104103

105-
changed := repairInvalidUTF8(msg122)
104+
changed := repairInvalidUTF8(c.Logger, msg122)
106105
if !changed {
107106
c.Logger.Error("during UTF-8 repair, nothing was repaired",
108107
tag.NewStringTag("type", fmt.Sprintf("%T", v)),
@@ -134,11 +133,11 @@ func (c *CodecV2) Unmarshal(data mem.BufferSlice, v any) error {
134133

135134
// In old versions of Temporal, it was possible that certain history events could
136135
// be written with invalid UTF-8.
137-
func repairUTF8InLastFailure(lastFailure *failure122.Failure) bool {
136+
func repairUTF8InLastFailure(logger log.Logger, lastFailure *failure122.Failure) bool {
138137
cause := lastFailure.GetCause()
139138
if !utf8.ValidString(cause.GetMessage()) {
140139
cause.Message = strings.ToValidUTF8(cause.Message, string(utf8.RuneError))
141-
fmt.Println("repaired invalid utf-8 in last failure message")
140+
logger.Info("repaired invalid utf-8 in LastFailure field")
142141
return true
143142
}
144143
return false

0 commit comments

Comments
 (0)