# 20.10.6 Release Notes for Cloud

# Resolved Issues

# [94132] - Principal Manager Time Conversion error from Graph API endpoint

A modification was made within the Graph API endpoints used by the principal manager, which caused a time conversion error. This issue is resolved.

# [91739] - Data Process Pipeline can be left in a non-running state during deployment

An issue has been seen during the deployment process for the Data Processing Pipeline which could have caused the process to be left in a non-running state.
This problem typically can occur during the deployment process. An improvement has been made to detect non-running processing and restart them as required.

# [92786] - Data Access Instance API returns incorrect error code

Corrected response status code, request on rare instances would return a 400 error code (Bad Request) and it has been changed to 500 (Internal Error), if the problem persists, please raise a ticket and provide a reference ID.

# Known Issues

# [96750] - Cannot delete any user in tenant El-03

B2C is processing the addition of new users slower than expected, meaning that they cannot be instantly deleted using the Admin Portal.

Workaround: Wait for 1-2 minutes before attempting to delete newly added users.

# [90228] - File DELETE fails to delete

If the client has a large number of files stored, the delete operation can be unsuccessful. The files which should be deleted are still visible in a query result.

# [89265] - GlobalStorage supported uploading files up to 134MB

Due to internal default settings, the GlobalStorage endpoint does not support uploading files bigger than 134MB.

# [86916] - Too many logs and traces from Authproxy component

Authproxy component was logging too many information level statements and B2C traces, making it difficult to debug issues using App Insights. Under heavy load on the component, a few exceptions may be encountered by end-users.

Workaround: If the user receives an exception while generating a token, the user should retry the request.

# [87171] - File transfer receipts are kept indefinitely, but source files are deleted wasting resources

The logs of files transferred from the GTW storage account to long-term storage are keeping forever.

# [86320] - DSL query not working in Data Access Alarm API

When telemetry data contained "[" as a first character (e.g. "[TEMP M] -  Measured temperature is above alarm limit.") this is treated by Data Access as an array, and parsing such data to JSON array failed. The exception is Error Reported From Time Series Provider.

# [86541] - Index for global/object files is not effective

The more files you store in the storage, the longer it takes to delete and save files.

# [86315] - Data Access APIs calls for Last Known Value are failing due to long response time

Data Access response time can be big if an inefficient Last Known Value query is used.

An inefficient Last Known Value query is a query that may contain some of the following constructs:

  • does not contain model
  • variable filter contains STARTS_WITH parameter
  • query multiple objectIds

# [84719] - Bootstrap failure during upgrade from 19.0.9 to Berlin

Sometimes during upgrade activity, the Bootstrap failure can occur due to not retrieving proper permissions for the Tenant.

The workaround is to redeploy.

# [82304] - DPP DataQuality should not be calculated, when quality property is not present

Data Processing Pipeline is capable of decoding quality field value into a human-readable format.

Although the quality field is an optional part of the telemetry payload, there are always some activities triggered, connected with decoding the value, even though it may be empty.

This has a minimal, but nonetheless negative impact on performance, when the quality decoding step is turned on.

# [80721] - Information Model service fails with 502 bad gateway error

Known Issue:  A 502 bad gateway error is returned when making a request to the Authorization endpoint if the payload contains a query filter with too many OR conditions. This is not an optimal way of using the query filter and causes the execution to take an excessively long amount of time and impact the performance of the application.

Workaround: When using filters with many objectids, use the IN clause as opposed to the ORclause for optimal performance. Please see the below example:

Example payload with OR condition: (objectId='462e58e9-b6de-4dfb-a00d-ecfdd0c45a37' OR objectId='5a4472ac-6ddd-4624-b909-8f6f08fa4bcd' OR objectId='4caade18-f599-47b7-8689-55afbd10278b' OR objectId='f239eb85-11fa-4fcb-b452-1adc01170312' OR objectId='d841bb1e-7854-44d4-a030-c736f0b63259') AND (variable STARTS_WITH 'docker.' OR variable STARTS_WITH 'heartbeat' OR variable STARTS_WITH 'utilization.')

Optimized payload with In condition: objectId in ['462e58e9-b6de-4dfb-a00d-ecfdd0c45a37','5a4472ac-6ddd-4624-b909-8f6f08fa4bcd','4caade18-f599-47b7-8689-55afbd10278b','f239eb85-11fa-4fcb-b452-1adc01170312','d841bb1e-7854-44d4-a030-c736f0b63259'] AND (variable STARTS_WITH 'docker.' OR variable STARTS_WITH 'heartbeat' OR variable STARTS_WITH 'utilization.'

# [78288] - Principal Manager test cases failing due to error in event logging

Principal Manager Tests occasionally result in the audit log events not being logged properly, causing Q2 tests to fail as the number of expected events and actually logged events is not matching.

# [68309] - Unable to search for a file using a user token after upload

Know Issue: When searching for files uploaded via Edge, requests using a user token are failing when the number of objects exceeds 500.

Workaround: When querying, the objectid, along with the path, can be passed in QEL format to overcome this limitation.

# [74595] - User cannot access applications when the "read" permission is limited to "user" delegation

Known Issue:

  • Query apps endpoint - passing 'use****r' instead of 'User' for delegation parameter will return empty results.
  • Get apps endpoint - passing 'User' instead of 'user' for delegation parameter returns empty results.

Workaround: When querying for applications using the "Query apps" or "Get apps" endpoint, limited to user delegation, pass (delegation='user' OR delegation='User') for delegation parameter to get the expected results

# [78357] - Appinsigths exceptions: DryIoc.ContainerException in TelemetryHotPublisher

Under heavy load there are exceptions: "Container is disposed and should not be use" in Application Insights.

# [81955] - New APIM DataAccess file routes return 404 error

APIM DataAccess file routes return 404 error - "Resource Not Found". Microsoft developers determined this to be a bug in the APIM service.

# [85925] - DCS default message senders configuration increases response times

Devices that request more than 50 DCS responses at a time may see response delays with the default configuration of C2D senders. Times can be improved by reducing the number of senders to 2. Overall usage and performance requirements should be evaluated before and after making modifications to DCS settings.

# [92809] - File upload fails [cloud]

Sometimes the file upload can return an error, despite the fact that it is successfully transferred to permanent storage.

# [76007] - DSL query escape sequence handling for backward slash() in property value filter is not consistent

Known Issue: When using the backslashes ("") in the object model properties and then trying to query them using DSL, the user cannot obtain it by a single escape character ("\"), which is expected behavior.

Workaround: The workaround is to use double escaping in the DSL query ("\\").

For example, having property:


{
"browseName": {
"value": "some\\path"
}
}

one needs to use the DSL:


models(...).hasProperty("browseName", "some\\\\\\\\path")

# [62908] - Principle Manager API fails to remove tenants - BadGateway

The problem can occur based on concurrent requests to the principal manager API. The Principal Manager APIs use Azure B2C services to create Applications for business entities, e.g. Application, Solution, etc. The workflow in the PM is sequential and dependent on the result of the B2C operation. After a successful result from the B2C operation, the request is further processed to provide the respective response to the caller.

For any B2C-related request, some buffer time needs to be provided so that the action can be completed.

It is advised to maintain a gap of 60 secs between two requests.

# [75339] - Sorting functionality in Principal Manager APIs is case sensitive

Sorting functionality implemented as part of the Pagination & Searching feature in Principal Manager APIs is case sensitive.

For example: when trying to sort a set of tenants {ABB01, Robotics01, abb02, Volvo01, robotics02, volvo02}, the ascending sorting should look as follows {ABB01, Robotics01, Volvo01, abb02, robotics02, volvo02}.

# [73963] - A Latency issue can cause new application created by principal manager to be constructed without secrets

Known Issue: Occasionally a newly created application using principal manager service will be created without secrets causing the app to become unusable because a bearer token cannot be obtained.

Workaround: If this is observed, create the application again after about waiting 60 secs.

# [82194] - Device delegation background app is available on API definition and Portal to be used BL

Currently creating an object model or data reinjection is not allowed for a business's own background application due to missing permission for such device delegation operations.

# [77345] - When creating a solution or resource, Principle Manager service sporadically returns a 400 Bad Gateway response code

Known Issue: When creating a solution or a resource, Microsoft Graph API occasionally will return a "400 Bad Gateway" response code with the message, "One or more of your reply URLs is not valid". As a result, the Solution is not created.

Workaround: The end user will need to resubmit the request.

# [79098] - TSI storage doubled (costs) and max throughput decreased when DPP status code processing is enabled

Data quality decoration increases the total size of the telemetry message significantly.

An original message may look like this:


{
"objectId": "2B129E4C-0944-4534-8E8B-DEB49D8AF0AC",
"model": "abb.somedomain.somemodel",
"variable": "SomeVariableName",
"timestamp": "2018-05-217T23:00:00Z",
"value": 42,
"quality" : 1073741954
}

After quality decoding it may look like this:


{
"objectId": "2B129E4C-0944-4534-8E8B-DEB49D8AF0AC",
"model": "abb.somedomain.somemodel",
"variable": "SomeVariableName",
"timestamp": "2018-05-217T23:00:00Z",
"value": 42,
"quality" : 1073741954,
"qualityFlags" : {
"validity" : "uncertain",
"limit" : "low",
"historian" : "interpolated"
}
}

This in turn has a direct impact on:

  • The total capacity of data that Ability Platform ingress pipeline may accept (Azure Event Hubs limits that to 20MB/sec.)
  • The total amount of data being stored to TSI, which has a direct impact on the cost of the system

Data quality decoration is turned off by default and not recommended for use at this time.

A future update is planned to provide better control over the extra space used when this feature is enabled.

Last updated: 9/6/2021, 1:25:50 PM
Feedback