---
title: Limitations
slug: bhdo/limitations
createdAt: 2023-09-26T20:27:55.009Z
---

The following limitations have been identified. When they are resolved, they will be reported in the latest [Product Updates](docId\:UwOpGCFQNrSlrk-C64Kxf) under *Resolved Issues*.

**DeviceHub:**

- DeviceHub user role permissions cannot be modified after they are saved. As a workaround, remove and recreate the role.
- Browsing an OPC UA server with the OPC UA Client driver can fail with a `BadNodeIdUnknown` error on some servers.
- The Heidenhain 640 Ethernet driver does not read error information correctly.

**Analytics:**

- TensorFlow processor models are not checked to confirm that they load or that their Input/Output operation names exist, so a mismatch appears only as a load error when the source is enabled. As a workaround, run `saved_model_cli show --dir <model_dir> --all` to confirm the exact, case-sensitive operation names from a single signature before you configure the processor.
- FileReader processor is unable to read files that are generated from Flows Manager. As a workaround, in Flows use the exec node to run `chmod` commands to update file and directory access.
- The first flow created in Flows Manager cannot be stopped or restarted in Safe Mode.
- The Database Batch Input processor stops sending rows on later runs, even when the rows match the query.

**Integration:**

- Updating the **Bulk Insert Count** from `0` to any other value causes connectors to enter a failed state.
- A `bulk operation limit of 1000 exceeded` error message displays when performing a bulk edit on less than 100 subscriptions.
- The **Throttling limit** setting on connectors does not reduce the rate at which data is written to the destination.
- After a temporary error, the Snowflake Snowpipe Stream connector moves to a failed state and does not retry. As a workaround, disable and re-enable the connector.
- Deleting a connector in a failed state through the API can leave its card on the **Integration** page. As a workaround, refresh the page.
- During a MongoDB outage, the MongoDB v4+ connector logs that messages were dropped, even though the data is kept and delivered when MongoDB is reachable again. You can ignore this log message.
- CSV topic import on the **Topics** page accepts topic names that end with a dot, although the UI and templates reject them. As a workaround, remove trailing dots from topic names before you import them.
- The `edge_cc_messages_processed` metric on the connector metrics endpoint (`/cc/metrics`) stays at `0` for Gen 2 connectors, even while they are connected and delivering data. Data delivery and the Integration dashboard are not affected, and Gen 1 connectors report correctly. As a workaround, use the Integration dashboard or the destination system to track Gen 2 connector throughput. The `edge_cc_status` metric still reports the connection state correctly.

**OPC UA:**

- When a template is applied to a Belden Horizon Data Operations device whose OPC UA server starts with an empty hierarchy, a device from the template may not be served. As a workaround, restart the OPC UA server after you apply the template.

**System:**

- When you export a template that includes DeviceHub devices, some device credentials and secrets (such as passwords and private keys) are saved as plain text in the template file. As a workaround, treat exported templates as sensitive files, and store and share them securely.
- The snapshots API accepts a duplicate snapshot label. As a workaround, use unique labels when you create snapshots.
- The **Apply Template** dialog accepts parameter values that the server then rejects, so the error appears only after you apply the template. As a workaround, check parameter values against the template definition before you apply the template.
- Importing a template with multiple connectors fails when a configuration issue occurred with one component.
