Skip to content

Commit adebf36

Browse files
committed
Minor tweaks to rendezvous client-side logic
1 parent 970f06a commit adebf36

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

pkg/code/server/messaging/internal.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,16 @@ func (s *server) internallyForwardMessage(ctx context.Context, req *messagingpb.
127127
}
128128

129129
rendezvousRecord, err := s.data.GetRendezvous(ctx, streamKey)
130-
if err == nil {
130+
switch err {
131+
case nil:
131132
log := log.WithField("receiver_address", rendezvousRecord.Address)
132133

134+
// Expired rendezvous record that likely wasn't cleaned up. Avoid forwarding,
135+
// since we expect a broken state.
136+
if time.Since(rendezvousRecord.ExpiresAt) >= 0 {
137+
return nil
138+
}
139+
133140
// We got lucky and the receiver's stream is on the same RPC server as
134141
// where the message is created. No forwarding between servers is required.
135142
// Note that we always use the rendezvous record as the source of truth
@@ -150,12 +157,6 @@ func (s *server) internallyForwardMessage(ctx context.Context, req *messagingpb.
150157
return nil
151158
}
152159

153-
// Expired rendezvous record that likely wasn't cleaned up. Avoid forwarding,
154-
// since we expect a broken state.
155-
if time.Since(rendezvousRecord.ExpiresAt) >= 0 {
156-
return nil
157-
}
158-
159160
client, err := getInternalMessagingClient(rendezvousRecord.Address)
160161
if err != nil {
161162
log.WithError(err).Warn("failure creating internal grpc messaging client")
@@ -188,7 +189,11 @@ func (s *server) internallyForwardMessage(ctx context.Context, req *messagingpb.
188189
log.WithField("result", resp.Result).Warn("non-OK result sending redirected request")
189190
return err
190191
}
191-
} else if err != rendezvous.ErrNotFound {
192+
193+
case rendezvous.ErrNotFound:
194+
log.Debug("dropping message without rendezvous record")
195+
196+
default:
192197
log.WithError(err).Warn("failure getting rendezvous record")
193198
return err
194199
}

0 commit comments

Comments
 (0)