# \[Bug 2716\] UDT Definition system.tag.configure Regression

**URL:** <https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [June 1, 2021, 4:25pm UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311 "2021-06-01T16:25:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [June 1, 2021, 4:25pm UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/1 "2021-06-01T16:25:20Z")

</div>

Hi,

I have an issue after the following change:

> [@Nightly 8.1 Changelogs - 2021](https://forum.inductiveautomation.com/t/nightly-8-1-changelogs-2021/42410/80):
>
> **965: Importing UDTs with existing definitions doesn’t overwrite the entire definition when overwrite option is selected.**  
> Importing a UDT or UDT instance with the overwrite collision policy now overwrites the entire definition instead of just the member tags included with the import.

It seems that UDT instance members that are memory tags are reinitialised after this change if overwrite is selected.

In the past, the UDT would overwritten with memory tag value overrrides in instances intact. If members were deleted in the UDT definition, they would remain (not ideal).

Right now, after the UDT definition is updated, all memory tags are overwritten.

How can I go about distributing standards UDT definitions across multiple gateways and tag providers without destroying memory tag values in the member of the instances?

Running 8.1.6.

Regards,  
Deon

---

<div class="post-metadata">

**Author:** ![mrojas](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mrojas/32/6394_2.png) [@mrojas](https://forum.inductiveautomation.com/u/mrojas)\
**Post date:** [June 1, 2021, 11:09pm UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/2 "2021-06-01T23:09:57Z")

</div>

Are you referring to a UDT Instance inside a UDT Definition or outside of one?

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [June 2, 2021, 5:57am UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/3 "2021-06-02T05:57:37Z")

</div>

No, the UDT definition only contains folder and atomic members.

What I’m seeing is that after 8.1.6 all memory tags lose their value override when the definition is updated with overwrite option. No members were renamed.

Merge can work for most applications, but it does not remove the occasional deleted member.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 2, 2021, 6:12am UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/4 "2021-06-02T06:12:49Z")

</div>

This would suggest that all property overrides are removed which is extremely concerning!! Some UDT instances will not perform correctly without overridden properties and contain key configuration. What about things like dataset tag values?. Can you check if this is also the case for other types of property overrides, not just the value?

I have noticed that even in earlier versions, that deleting a UDT definition that has instances and then adding it back in will remove all property overrides on the instances, which is super dangerous. This is happening in v8.1.5. Actually I might create my own topic for this one

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [June 2, 2021, 6:42am UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/5 "2021-06-02T06:42:45Z")

</div>

You are correct. All properties overrides are gone. Only parameters survive.

What is also new, is that my UDT distribution script between tag providers is locking up the internal DB. This happened without any real changes, just a redistribution:

```auto
Error saving node configuration
simpleorm.utils.SException$Jdbc: Opening com.inductiveautomation.ignition.gateway.localdb.sqlite.SingleConnectionDatasource@5bcf3bfa

at simpleorm.sessionjdbc.SSessionJdbc.innerOpen(SSessionJdbc.java:113)

at com.inductiveautomation.ignition.gateway.localdb.persistence.PersistenceSession.initialize(PersistenceSession.java:31)

at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl.getSession(PersistenceInterfaceImpl.java:64)

at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl.save(PersistenceInterfaceImpl.java:105)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager.saveVersion(InternalJsonStorageManager.java:91)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager$RedundantTagSynchronizationProvider.setVersion(InternalJsonStorageManager.java:592)

at com.inductiveautomation.ignition.gateway.redundancy.types.AbstractSynchronizedStateProvider.incrementVersion(AbstractSynchronizedStateProvider.java:93)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager$RedundantTagSynchronizationProvider.processChanges(InternalJsonStorageManager.java:640)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager.save(InternalJsonStorageManager.java:181)

at com.inductiveautomation.ignition.gateway.tags.config.BatchConfigOperation.save(BatchConfigOperation.java:120)

at com.inductiveautomation.ignition.gateway.tags.config.BatchConfigOperation.execute(BatchConfigOperation.java:105)

at com.inductiveautomation.ignition.gateway.tags.evaluation.BatchContextImpl$OpController.run(BatchContextImpl.java:240)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.sql.SQLException: Connection is locked. Datasource only allows one connection at a time. More information was logged to the gateway console.

at com.inductiveautomation.ignition.gateway.localdb.sqlite.SingleConnectionDatasource.getConnection(SingleConnectionDatasource.java:75)

at simpleorm.sessionjdbc.SSessionJdbc.innerOpen(SSessionJdbc.java:111)

... 14 common frames omitted

```

```auto
Error saving record: "[InternalJsonStorageInfoRecord 3 Dirty0]"
simpleorm.utils.SException$Jdbc: Opening com.inductiveautomation.ignition.gateway.localdb.sqlite.SingleConnectionDatasource@5bcf3bfa

at simpleorm.sessionjdbc.SSessionJdbc.innerOpen(SSessionJdbc.java:113)

at com.inductiveautomation.ignition.gateway.localdb.persistence.PersistenceSession.initialize(PersistenceSession.java:31)

at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl.getSession(PersistenceInterfaceImpl.java:64)

at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl.save(PersistenceInterfaceImpl.java:105)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager.saveVersion(InternalJsonStorageManager.java:91)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager$RedundantTagSynchronizationProvider.setVersion(InternalJsonStorageManager.java:592)

at com.inductiveautomation.ignition.gateway.redundancy.types.AbstractSynchronizedStateProvider.incrementVersion(AbstractSynchronizedStateProvider.java:93)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager$RedundantTagSynchronizationProvider.processChanges(InternalJsonStorageManager.java:640)

at com.inductiveautomation.ignition.gateway.tags.config.storage.internaljson.InternalJsonStorageManager.save(InternalJsonStorageManager.java:181)

at com.inductiveautomation.ignition.gateway.tags.config.BatchConfigOperation.save(BatchConfigOperation.java:120)

at com.inductiveautomation.ignition.gateway.tags.config.BatchConfigOperation.execute(BatchConfigOperation.java:105)

at com.inductiveautomation.ignition.gateway.tags.evaluation.BatchContextImpl$OpController.run(BatchContextImpl.java:240)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.sql.SQLException: Connection is locked. Datasource only allows one connection at a time. More information was logged to the gateway console.

at com.inductiveautomation.ignition.gateway.localdb.sqlite.SingleConnectionDatasource.getConnection(SingleConnectionDatasource.java:75)

at simpleorm.sessionjdbc.SSessionJdbc.innerOpen(SSessionJdbc.java:111)

... 14 common frames omitted

```

---

<div class="post-metadata">

**Author:** ![sreis](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sreis/32/14631_2.png) [@sreis](https://forum.inductiveautomation.com/u/sreis)\
**Post date:** [June 2, 2021, 5:27pm UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/6 "2021-06-02T17:27:13Z")

</div>

Thanks for this info. Looking into this right now

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 3, 2021, 9:16pm UTC](https://forum.inductiveautomation.com/t/bug-2716-udt-definition-system-tag-configure-regression/47311/7 "2021-06-03T21:16:54Z")

</div>

> [@What happened to version 8.1.6 LTS? It appears to be gone!](http://forum.inductiveautomation.com/t/what-happened-to-version-8-1-6-lts-it-appears-to-be-gone/47418):
>
> I just noticed that 8.1.6 LTS is no longer available on the current version OR previous version download pages. How long until the LTS release of 8.1.7 for those of us that have 8.1.6 deployed in production environments?? Any comments as to why it ‘disappeared’ all of a sudden?

Fyi 8.1.6 has been pulled due to this regression, @deon.korb thanks for posting!
