# Join node remembering more than it should

**URL:** <https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119>\
**Category:** General\
**Created:** [24 January 2023 12:24 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119 "2023-01-24T12:24:32Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [24 January 2023 12:24 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/1 "2023-01-24T12:24:33Z")

</div>

Can someone see if this problem with the Join node is just me please? Be careful not to do anything out of order as the problem has a habit of going away and I am not sure what makes it go.

1. Import the flow below and deploy it.
2. Click the Inject node `A:timestamp msg.full:true`
3. Note in the debug node that the message has msg.full present.
4. Click the Inject node `A:timestamp No msg.full`
5. Note that the message still has msg.true present, which it should not.

Having said that the problem sometimes clears itself, I now find that I cannot make it clear.

**[Edit]** node-red 3.0.2, nodejs 18.13.0

**[More edits]** Here is the flow that I didn't include.

```auto
[{"id":"bb68bb3693e0d1f1","type":"inject","z":"bdd7be38.d3b55","name":"A:timestamp No msg.full","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"A","payload":"","payloadType":"date","x":210,"y":3200,"wires":[["f9e9e10d41b65ca1"]]},{"id":"30e24e64b1b57f52","type":"inject","z":"bdd7be38.d3b55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"B","payload":"","payloadType":"date","x":230,"y":3340,"wires":[["f9e9e10d41b65ca1"]]},{"id":"a99c557ae2cf9bfc","type":"inject","z":"bdd7be38.d3b55","name":"A:timestamp msg.full:true","props":[{"p":"payload"},{"p":"topic","vt":"str"},{"p":"full","v":"true","vt":"bool"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"A","payload":"","payloadType":"date","x":170,"y":3260,"wires":[["f9e9e10d41b65ca1"]]},{"id":"47ac7e6620607619","type":"debug","z":"bdd7be38.d3b55","name":"debug 70","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":700,"y":3260,"wires":[]},{"id":"d4a479ac4ee76c68","type":"join","z":"bdd7be38.d3b55","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"1","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":550,"y":3260,"wires":[["47ac7e6620607619"]]},{"id":"f9e9e10d41b65ca1","type":"junction","z":"bdd7be38.d3b55","x":400,"y":3260,"wires":[["d4a479ac4ee76c68"]]}]

```

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [24 January 2023 13:32 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/2 "2023-01-24T13:32:47Z")

</div>

> [@Colin](#):
>
> Import the flow below and deploy it.

There is no flow below?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [24 January 2023 13:38 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/3 "2023-01-24T13:38:16Z")

</div>

Aargh! I am going do-lally.

I have added it.

Or should that be doolally?

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [24 January 2023 13:56 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/4 "2023-01-24T13:56:11Z")

</div>

> [@Colin](#):
>
> Or should that be doolally?

I can't possibly comment ! 🙃

As you say, msg.full is still there.

I tested msg.payload `{"name" "Cinderella", "hero": "Prince Charming"}` in the first msg  
and `{"name" : "Aladdin", "password": "Abracadabra"}` in the second.  
Fortunately msg.payload.hero was not retained!

(The pantomime season _is behind me_)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [24 January 2023 14:09 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/5 "2023-01-24T14:09:11Z")

</div>

OK, thanks. I will wait a bit in case @knolleary tells us it is already fixed in git before submitting an issue. It is a fairly serious issue, it took me quite a while to work out what was going on.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [24 January 2023 14:10 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/6 "2023-01-24T14:10:41Z")

</div>

I don't recall an issues being raised related to the join node. Suggest you get it raised so it can be looked at.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [24 January 2023 15:15 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/7 "2023-01-24T15:15:08Z")

</div>

> [@jbudd](#):
>
> (The pantomime season _is behind me_)

Sorry, not paying attention.

Oh no it isn't ...

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [24 January 2023 15:29 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/8 "2023-01-24T15:29:40Z")

</div>

Issue raised

> <https://github.com/node-red/node-red/issues/4022>
>
> \### Current Behavior
> 
> If a Join node in key/value mode is given a message with a…dditional properties, and then given a message without those properties, then the properties from the first message may be passed on to the output.
> 
> \### Expected Behavior
> 
> A message passed on should be exactly the message passed in, with only msg.payload replaced.
> 
> \### Steps To Reproduce
> 
> 1. Import the flow below and deploy it.
> 2. Click the Inject node \`A:timestamp msg.full:true\`
> 3. Note in the debug node that the message correctly has msg.full present.
> 4. Click the Inject node \`A:timestamp No msg.full\`
> 5. Note that the message still has msg.true present, which it should not.
> 
> \### Example flow
> 
> \`\`\`
> \[{"id":"bb68bb3693e0d1f1","type":"inject","z":"bdd7be38.d3b55","name":"A:timestamp No msg.full","props":\[{"p":"payload"},{"p":"topic","vt":"str"}\],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"A","payload":"","payloadType":"date","x":210,"y":3200,"wires":\[\["f9e9e10d41b65ca1"\]\]},{"id":"30e24e64b1b57f52","type":"inject","z":"bdd7be38.d3b55","name":"","props":\[{"p":"payload"},{"p":"topic","vt":"str"}\],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"B","payload":"","payloadType":"date","x":230,"y":3340,"wires":\[\["f9e9e10d41b65ca1"\]\]},{"id":"a99c557ae2cf9bfc","type":"inject","z":"bdd7be38.d3b55","name":"A:timestamp msg.full:true","props":\[{"p":"payload"},{"p":"topic","vt":"str"},{"p":"full","v":"true","vt":"bool"}\],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"A","payload":"","payloadType":"date","x":170,"y":3260,"wires":\[\["f9e9e10d41b65ca1"\]\]},{"id":"47ac7e6620607619","type":"debug","z":"bdd7be38.d3b55","name":"debug 70","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":700,"y":3260,"wires":\[\]},{"id":"d4a479ac4ee76c68","type":"join","z":"bdd7be38.d3b55","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\\\n","joinerType":"str","accumulate":true,"timeout":"","count":"1","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":550,"y":3260,"wires":\[\["47ac7e6620607619"\]\]},{"id":"f9e9e10d41b65ca1","type":"junction","z":"bdd7be38.d3b55","x":400,"y":3260,"wires":\[\["d4a479ac4ee76c68"\]\]}\]
> \`\`\`
> 
> 
> \### Environment
> 
> \- Node-RED version: 3.0.2
> \- Node.js version: 18.13.0 and 16.19.0
> \- npm version:
> \- Platform/OS: Ubuntu and Pi OS
> \- Browser: Chrome

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [25 March 2023 15:29 UTC](https://discourse.nodered.org/t/join-node-remembering-more-than-it-should/74119/9 "2023-03-25T15:29:42Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
