From 685efc36df4fe2c2b5e702471e4d507a90bc5f2b Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Thu, 6 Feb 2020 15:51:16 -0800 Subject: [PATCH] Allow JS to work over leafnodes for streams Signed-off-by: Derek Collison --- server/leafnode.go | 3 ++- server/stream.go | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/server/leafnode.go b/server/leafnode.go index 98f2d376..b920c417 100644 --- a/server/leafnode.go +++ b/server/leafnode.go @@ -1176,7 +1176,8 @@ func (c *client) updateSmap(sub *subscription, delta int32) { // If we are solicited make sure this is a local client or a non-solicited leaf node skind := sub.client.kind - if c.isSpokeLeafNode() && !(skind == CLIENT || skind == SYSTEM || (skind == LEAF && !sub.client.isSpokeLeafNode())) { + + if c.isSpokeLeafNode() && !(skind == CLIENT || skind == SYSTEM || skind == JETSTREAM || (skind == LEAF && !sub.client.isSpokeLeafNode())) { c.mu.Unlock() return } diff --git a/server/stream.go b/server/stream.go index ce96e073..22f5c36c 100644 --- a/server/stream.go +++ b/server/stream.go @@ -255,10 +255,6 @@ func (mset *Stream) subscribeToStream() error { // FIXME(dlc) - This only works in single server mode for the moment. Need to fix as we expand to clusters. func (mset *Stream) subscribeInternal(subject string, cb msgHandler) (*subscription, error) { - return mset.nmsSubscribeInternal(subject, false, cb) -} - -func (mset *Stream) nmsSubscribeInternal(subject string, internalOnly bool, cb msgHandler) (*subscription, error) { c := mset.client if c == nil { return nil, fmt.Errorf("invalid stream") @@ -273,7 +269,7 @@ func (mset *Stream) nmsSubscribeInternal(subject string, internalOnly bool, cb m mset.sid++ // Now create the subscription - sub, err := c.processSub([]byte(subject+" "+strconv.Itoa(mset.sid)), internalOnly) + sub, err := c.processSub([]byte(subject+" "+strconv.Itoa(mset.sid)), false) if err != nil { return nil, err }