Skip to content

Commit

Permalink
[pkg/stanza] Do not log entries on error (open-telemetry#31021)
Browse files Browse the repository at this point in the history
  • Loading branch information
djaglowski committed Feb 2, 2024
1 parent 29ecc62 commit 4e63de5
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 6 deletions.
30 changes: 30 additions & 0 deletions .chloggen/pkg-stanza-optional-log-entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Use this changelog template to create an entry for release notes.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: breaking

# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
component: pkg/stanza

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Entries are no longer logged during error conditions.

# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
issues: [26670]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
This change is being made to ensure sensitive information contained in logs are never logged inadvertently.
This change is a breaking change because it may change user expectations. However, it should require
no action on the part of the user unless they are relying on logs from a few specific error cases.
# If your change doesn't affect end users or the exported elements of any package,
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: []
4 changes: 2 additions & 2 deletions pkg/stanza/operator/helper/input.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ func (i *InputOperator) CanProcess() bool {
}

// Process will always return an error if called.
func (i *InputOperator) Process(_ context.Context, entry *entry.Entry) error {
i.Errorw("Operator received an entry, but can not process", zap.Any("entry", entry))
func (i *InputOperator) Process(_ context.Context, _ *entry.Entry) error {
i.Errorw("Operator received an entry, but can not process")
return errors.NewError(
"Operator can not process logs.",
"Ensure that operator is not configured to receive logs from other operators",
Expand Down
2 changes: 1 addition & 1 deletion pkg/stanza/operator/helper/transformer.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func (t *TransformerOperator) ProcessWith(ctx context.Context, entry *entry.Entr

// HandleEntryError will handle an entry error using the on_error strategy.
func (t *TransformerOperator) HandleEntryError(ctx context.Context, entry *entry.Entry, err error) error {
t.Errorw("Failed to process entry", zap.Any("error", err), zap.Any("action", t.OnError), zap.Any("entry", entry))
t.Errorw("Failed to process entry", zap.Any("error", err), zap.Any("action", t.OnError))
if t.OnError == SendOnError {
t.Write(ctx, entry)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/stanza/operator/output/stdout/stdout.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func (o *Output) Process(_ context.Context, entry *entry.Entry) error {
err := o.encoder.Encode(entry)
if err != nil {
o.mux.Unlock()
o.Errorf("Failed to process entry: %s, $s", err, entry.Body)
o.Errorf("Failed to process entry: %s", err)
return err
}
o.mux.Unlock()
Expand Down
4 changes: 2 additions & 2 deletions pkg/stanza/operator/parser/jsonarray/json_array_parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func generateParseToArrayFunc(pool *fastjson.ParserPool) parseFunc {
// Nested objects handled as a string since this parser doesn't support nested headers
parsedValues[i] = jArray[i].String()
default:
return nil, errors.New("failed to parse entry: " + string(jArray[i].MarshalTo(nil)))
return nil, errors.New("failed to parse entry")
}
}

Expand Down Expand Up @@ -159,7 +159,7 @@ func generateParseToMapFunc(pool *fastjson.ParserPool, header []string) parseFun
// Nested objects handled as a string since this parser doesn't support nested headers
parsedValues[header[i]] = jArray[i].String()
default:
return nil, errors.New("failed to parse entry: " + string(jArray[i].MarshalTo(nil)))
return nil, errors.New("failed to parse entry")
}
}

Expand Down

0 comments on commit 4e63de5

Please sign in to comment.