Direct get across a leafnode using cross domain mappings to a queue subscriber did not work.

The interest moved across the leafnode would be for the mapping, and not the actual qsub.
So when received if we did detect that we are mapped and do not have a queue filter present make sure to ignore.
This will allow queue subscriber processing on the local server that received the message from the leafnode.

Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
Derek Collison
2022-08-03 20:21:28 -07:00
parent e52c7cd3da
commit 28ccaa4371
4 changed files with 46 additions and 3 deletions

View File

@@ -21,6 +21,7 @@ import (
"errors"
"fmt"
"math/rand"
"reflect"
"strings"
"sync"
"sync/atomic"
@@ -1835,7 +1836,7 @@ func TestJetStreamSuperClusterMovingStreamsAndConsumers(t *testing.T) {
si, err = js.StreamInfo("MOVE")
require_NoError(t, err)
if si.State != initialState {
if !reflect.DeepEqual(si.State, initialState) {
t.Fatalf("States do not match after migration:\n%+v\nvs\n%+v", si.State, initialState)
}
@@ -2035,7 +2036,7 @@ func TestJetStreamSuperClusterMovingStreamsWithMirror(t *testing.T) {
mi, err := js.StreamInfo("MIRROR")
require_NoError(t, err)
if si.State != mi.State {
if !reflect.DeepEqual(si.State, mi.State) {
return fmt.Errorf("Expected mirror to be the same, got %+v vs %+v", mi.State, si.State)
}
return nil