# 20.10.5 Release Notes for Cloud
# Resolved Issues
# [91260] - String representations of variables of types Date are getting discarded in the DPP ingestion
Telemetry items with variables, which were defined as being of type "string", but in fact were transmitting values resembling date-time (ie. "2021-06-05T07:00:00.000Z") were discarded by data processing pipeline validation. This happened due to the default deserialization convention applied. This is no longer the case and DPP will process all string variables as plain text.
Please refer to the Platform Specifications page for details on the limitations of this functionality.
# [90908] - Query Alarms for Last Known Value returns empty data when 'alarm' specified in query filter
Query Alarms for Last Known Value returns empty data when 'alarm' specified in query filter. Example query filter: "alarm='ExampleAlarm' and model in ['abb.ability.example.model'] and objectId='12345878-1234-1234-1234-1234567890ab'" returns correct last known value now.
# [87662] - Fixed issue with memory leak in platform event processor d2c
While heavy usage of DCS a memory leak was noticeable. Problem was addressed by adjustments in code so now it's no longer impacting memory usage in DCS.
# Known Issues
# [89265] - DA - GlobalStorage file uploads do not support file size >=134MB
Due to internal default settings, the GlobalStorage endpoint does not support uploading files bigger than 134MB.
# [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 still by visible in a query result.
# [86916] - Too many logs and traces from Authproxy component
Known Issue: 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 GTW storage account to long term storage is keeping forever.
# [86541] - File delete is taking a significant amount of time to execute
The more files are stored in storage, the longer delete of particular file takes.
# [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.
# [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
# [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.
# [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.