mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
Removes the check on the republish filter needing to have an overlap with the listened subjects, as with the new stream subject transformation changes we do not assume anymore that the subjects in a stream must match the subjects being listened to.
This allows the use of republish for mirroring and/or sourcing streams Signed-off-by: Jean-Noël Moyne <jnmoyne@gmail.com>
This commit is contained in:
@@ -1291,20 +1291,10 @@ func (s *Server) checkStreamCfg(config *StreamConfig, acc *Account) (StreamConfi
|
||||
if cfg.RePublish != nil {
|
||||
// Check to make sure source is a valid subset of the subjects we have.
|
||||
// Also make sure it does not form a cycle.
|
||||
var srcValid bool
|
||||
// Empty same as all.
|
||||
if cfg.RePublish.Source == _EMPTY_ {
|
||||
cfg.RePublish.Source = fwcs
|
||||
}
|
||||
for _, subj := range cfg.Subjects {
|
||||
if SubjectsCollide(cfg.RePublish.Source, subj) {
|
||||
srcValid = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !srcValid {
|
||||
return StreamConfig{}, NewJSStreamInvalidConfigError(fmt.Errorf("stream configuration for republish source is not valid subset of subjects"))
|
||||
}
|
||||
var formsCycle bool
|
||||
for _, subj := range cfg.Subjects {
|
||||
if SubjectsCollide(cfg.RePublish.Destination, subj) {
|
||||
|
||||
Reference in New Issue
Block a user