Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-picks for 2.10.17-RC.7 #5572

Merged
merged 11 commits into from
Jun 21, 2024
29 changes: 29 additions & 0 deletions server/jetstream_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22728,3 +22728,32 @@ func TestJetStreamAuditStreams(t *testing.T) {
})
require_NoError(t, err)
}

// https://github.com/nats-io/nats-server/issues/5570
func TestJetStreamBadSubjectMappingStream(t *testing.T) {
s := RunBasicJetStreamServer(t)
defer s.Shutdown()

// Client for API requests.
nc, js := jsClientConnect(t, s)
defer nc.Close()

_, err := js.AddStream(&nats.StreamConfig{Name: "test"})
require_NoError(t, err)

_, err = js.UpdateStream(&nats.StreamConfig{
Name: "test",
Sources: []*nats.StreamSource{
{
Name: "mapping",
SubjectTransforms: []nats.SubjectTransformConfig{
{
Source: "events.*",
Destination: "events.{{wildcard(1)}}{{split(3,1)}}",
},
},
},
},
})
require_NoError(t, err)
}
1 change: 0 additions & 1 deletion server/stream.go
Original file line number Diff line number Diff line change
Expand Up @@ -1840,7 +1840,6 @@ func (mset *stream) updateWithAdvisory(config *StreamConfig, sendAdvisory bool)
var err error
si.trs[i], err = NewSubjectTransform(s.SubjectTransforms[i].Source, s.SubjectTransforms[i].Destination)
if err != nil {
mset.mu.Unlock()
mset.srv.Errorf("Unable to get subject transform for source: %v", err)
}
}
Expand Down