# Backup node slow start

**URL:** <https://forum.inductiveautomation.com/t/backup-node-slow-start/23744>\
**Category:** Ignition\
**Created:** [April 1, 2019, 6:39am UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744 "2019-04-01T06:39:14Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![daniel.garcia-redrue](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/daniel.garcia-redrue/32/10258_2.png) [@daniel.garcia-redrue](https://forum.inductiveautomation.com/u/daniel.garcia-redrue)\
**Post date:** [April 1, 2019, 6:39am UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/1 "2019-04-01T06:39:14Z")

</div>

Hi all,  
I have the following system running:

- 
  - Ignition v7.9.7 (over Windows Server 2016)

- 
  - 79 devices (2 TCP + 77 Modbus) and 160000 tags defined

- 
  - 1 database connection

- 
  - Redundancy node: warm mode, buffer size set to 30000

- 
  - Current gateway backup file size: 63MB

My problem is that when I restart my backup computer,the gateway remains in “STARTING…” for about 40 minutes. After that, when I check the devices detected in the backup node I notice that some of then have been lost (sometimes I have 44 devices, sometimes 19, sometimes only 1…)  
This is a problem for me because if my master node fails, the redundant note won’t be able to read all my variables.  
To solve this I have to save again every lost device from master node. After save a device, it appears again in backup node. But this is not a solution because the system is in a production environment.

Any idea?

Thanks in advance

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 1, 2019, 12:11pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/2 "2019-04-01T12:11:46Z")

</div>

Wrapper logs? Network details?  
The severity of your problem suggests you need remote access help from IA support. This forum is _ **not** _ official support.

---

<div class="post-metadata">

**Author:** ![daniel.garcia-redrue](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/daniel.garcia-redrue/32/10258_2.png) [@daniel.garcia-redrue](https://forum.inductiveautomation.com/u/daniel.garcia-redrue)\
**Post date:** [April 1, 2019, 1:44pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/3 "2019-04-01T13:44:14Z")

</div>

I have two virtual machines hosted in two different buildings. Here the logs:

[wrapper.log.zip](https://us1.discourse-cdn.com/inductiveautomation/original/2X/0/00fa3faf9da46e664d76d1fa71aa4e4fccc1d925.zip) (470.9 KB)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 1, 2019, 2:07pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/4 "2019-04-01T14:07:49Z")

</div>

I didn’t look throughout, but I noticed an expression tag running listDevices blocking device creation. Try not doing that.

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [April 2, 2019, 9:33am UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/5 "2019-04-02T09:33:04Z")

</div>

Hello,

We are in the same situation and I have found a few more people with this problem, I think there is a problem in Ignition when there are a lot of devices, It seems like if the master fails, the backup can not load all the devices…

I think this is a big problem…

---

<div class="post-metadata">

**Author:** ![daniel.garcia-redrue](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/daniel.garcia-redrue/32/10258_2.png) [@daniel.garcia-redrue](https://forum.inductiveautomation.com/u/daniel.garcia-redrue)\
**Post date:** [April 2, 2019, 11:01am UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/6 "2019-04-02T11:01:12Z")

</div>

Hi,  
I’m not sure if the backup size is related with this issue. I remember that some time ago I exported the project and then imported it. The edit count reset to 0 and the backup size was about 100MB smaller.  
Could be this problem that the backup node is not able to sync the full project?  
Which state should appear in the projectState property in the backupNode?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 2, 2019, 11:53am UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/7 "2019-04-02T11:53:26Z")

</div>

@pturmel is right about the `listDevices` - track that down and remove it and see if the backup loads.

The devices seem to be failing to load because of other contention on the internal DB.

---

<div class="post-metadata">

**Author:** ![daniel.garcia-redrue](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/daniel.garcia-redrue/32/10258_2.png) [@daniel.garcia-redrue](https://forum.inductiveautomation.com/u/daniel.garcia-redrue)\
**Post date:** [April 2, 2019, 12:32pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/8 "2019-04-02T12:32:51Z")

</div>

Thanks a lot for the answers @Kevin.Herron @pturmel.  
I am using that to get the device status (_connected_ tag) to detect communication failures. I am running this:  
**.runScript(“system.device.listDevices()”, 30000)**

Is there a better way to get connection status of TCP and MODBUS devices? I used this because I had problems with the _connected_ tag in the TCP devices

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 2, 2019, 12:42pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/9 "2019-04-02T12:42:10Z")

</div>

> [@daniel.garcia-redrue](#):
>
> .runScript(“system.device.listDevices()”, 30000)

In an expression tag, the 30000 is ignored. That will run at the scan class interval instead. Remove it for now. Experiment with the scan class for it later. Or use a timer script instead of an expression tag. In the latter, you can defer calling listDevices until your system is running and stable.

---

<div class="post-metadata">

**Author:** ![Sanderd17](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sanderd17/32/8735_2.png) [@Sanderd17](https://forum.inductiveautomation.com/u/Sanderd17)\
**Post date:** [April 2, 2019, 1:01pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/10 "2019-04-02T13:01:13Z")

</div>

The documentation is very confusing in that regard. On one hand, the docs state that the scan class dictates "the minimum amount of time between executions". So that would mean you can always execute it slower than the scan class (enlarge the time between executions).

And on the other hand, the example seems to indicate it's the other way around.

Next to that, the `now()` expression also uses polling, but on that page, there's no mention of the relation with the scan class.

[https://docs.inductiveautomation.com/display/DOC79/runScript](https://docs.inductiveautomation.com/display/DOC79/runScript)

> **runScript Polling in Tags**
> 
> The runScript function can be used in expression tags, but the poll rate doesn't work exactly the same as in an expression binding. All Tags have a Scan Class that dictates the minimum amount of time between each evaluation. The runScript poll rate only polls **up to** the rate of the scan class set on the tag.
> 
> For example, if an Expression Tag is configured with runScript to run at a poll rate of 60 seconds and is using the "default" (1 second) scan class, the Tag's Expression will still execute every 1 second. So a scan class rate of 60 seconds will be necessary for a runScript expression to poll at any rate between 0 and 60 seconds.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 2, 2019, 1:31pm UTC](https://forum.inductiveautomation.com/t/backup-node-slow-start/23744/11 "2019-04-02T13:31:16Z")

</div>

> [@Sanderd17](#):
>
> And on the other hand, the example seems to indicate it’s the other way around.

I can assure you that neither runScript() or now() will honor their poll parameter in an expression tag. They will run unconditionally at the scan class pace.
