Skip to content

Commit

Permalink
Fix error when closing logs (#2637) (#2640)
Browse files Browse the repository at this point in the history
Previously, *all* log streams of the pipeline were closed everytime when
a workflow is done, if you have multiple workflows, streams will be
closed multiple times.

backport #2637
  • Loading branch information
qwerty287 authored Oct 24, 2023
1 parent 948a5b3 commit 4d1ddab
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 15 deletions.
15 changes: 7 additions & 8 deletions cmd/server/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -339,13 +339,12 @@ func setupSignatureKeys(_store store.Store) (crypto.PrivateKey, crypto.PublicKey
} else if err != nil {
log.Fatal().Err(err).Msgf("Failed to load private key")
return nil, nil
} else {
privKeyStr, err := hex.DecodeString(privKey)
if err != nil {
log.Fatal().Err(err).Msgf("Failed to decode private key")
return nil, nil
}
privKey := ed25519.PrivateKey(privKeyStr)
return privKey, privKey.Public()
}
privKeyStr, err := hex.DecodeString(privKey)
if err != nil {
log.Fatal().Err(err).Msgf("Failed to decode private key")
return nil, nil
}
priv := ed25519.PrivateKey(privKeyStr)
return priv, priv.Public()
}
8 changes: 3 additions & 5 deletions server/grpc/rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -290,11 +290,9 @@ func (s *RPC) Done(c context.Context, id string, state rpc.State) error {

// make sure writes to pubsub are non blocking (https://github.com/woodpecker-ci/woodpecker/blob/c919f32e0b6432a95e1a6d3d0ad662f591adf73f/server/logging/log.go#L9)
go func() {
for _, wf := range currentPipeline.Workflows {
for _, step := range wf.Children {
if err := s.logger.Close(c, step.ID); err != nil {
logger.Error().Err(err).Msgf("done: cannot close log stream for step %d", step.ID)
}
for _, step := range workflow.Children {
if err := s.logger.Close(c, step.ID); err != nil {
logger.Error().Err(err).Msgf("done: cannot close log stream for step %d", step.ID)
}
}
}()
Expand Down
3 changes: 1 addition & 2 deletions server/plugins/encryption/encryption_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ func (b builder) serviceBuilder(keyType string) (model.EncryptionServiceBuilder,
return newAES(b.ctx, b.store), nil
} else if keyType == keyTypeNone {
return &noEncryptionBuilder{}, nil
} else {
return nil, fmt.Errorf(errMessageTemplateUnsupportedKeyType, keyType)
}
return nil, fmt.Errorf(errMessageTemplateUnsupportedKeyType, keyType)
}

0 comments on commit 4d1ddab

Please sign in to comment.