# Join timeout in automatic mode?

**URL:** <https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228>\
**Category:** General\
**Created:** [21 April 2020 08:43 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228 "2020-04-21T08:43:05Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![NikoG](https://avatars.discourse-cdn.com/v4/letter/n/57b2e6/32.png) [@NikoG](https://discourse.nodered.org/u/NikoG)\
**Post date:** [21 April 2020 08:43 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/1 "2020-04-21T08:43:05Z")

</div>

Hello together,

I want to create a sequence in which an array of objects is checked. In every object it should check whether it has a specific key or not. If not it should send an error.

As a solution for that I came with this: The array of object is splitted in a sequence of single objects with the split node. Now I can Check every object if it has a key or not with a switch node. If everything is right all message parts go to the same join node and are combined automatically back to the previous message. But if any part has not the wanted key, this message part is stopped going further and I will raise an error. So if the array contained 10 object only 9 will arrive at the final join node.  
My question is: what will happen to the other 9 message parts. Will they wait forever until they got the last message part? Or is there a timeout which deletes all related parts if the last part does not arrive? Or will the join node detect that no other part is there anymore so it deletes the other message parts?

Thanks for your help!

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [21 April 2020 10:15 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/2 "2020-04-21T10:15:28Z")

</div>

What 'mode' is the join using?  
Have you read the 'Info' tab for the `join` node?

---

<div class="post-metadata">

**Author:** ![NikoG](https://avatars.discourse-cdn.com/v4/letter/n/57b2e6/32.png) [@NikoG](https://discourse.nodered.org/u/NikoG)\
**Post date:** [21 April 2020 11:01 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/3 "2020-04-21T11:01:34Z")

</div>

the node uses the automatic mode

yes i have read that, but there is nothing written about that

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [21 April 2020 11:03 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/4 "2020-04-21T11:03:02Z")

</div>

in automatic mode it just uses the msg.parts properties to determine if it has all the parts... so no timeout no. But manual mode can do the same but add timeout if you wish.

---

<div class="post-metadata">

**Author:** ![NikoG](https://avatars.discourse-cdn.com/v4/letter/n/57b2e6/32.png) [@NikoG](https://discourse.nodered.org/u/NikoG)\
**Post date:** [21 April 2020 11:25 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/5 "2020-04-21T11:25:12Z")

</div>

But I don't want to send a message if the timeout is expired. The whole sequence should be discarded if one of the parts is wrong.

But okay if no timeout is in automatic node, what will happen if I have 1000 messages splitted and every time one part is not sent to the join node. Does it have a limit where is discards the messages?

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [21 April 2020 11:55 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/6 "2020-04-21T11:55:34Z")

</div>

OK, not by default, but as per the info sidebar - you can set (in settings.js) `nodeMessageBufferMaxLength` and if that is exceed it will flush any pending messages.

---

<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:** [21 April 2020 12:42 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/7 "2020-04-21T12:42:53Z")

</div>

I think I would probably have written a little javascript function that iterates through the array checking for the field presence.

---

<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:** [5 May 2020 12:42 UTC](https://discourse.nodered.org/t/join-timeout-in-automatic-mode/25228/8 "2020-05-05T12:42:56Z")

</div>

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