Errors resulting from unsafe-cursor operators
When data inconsistency is detected, Seeq will fail a request to avoid providing incorrect results. As mentioned in Uncertainty, only data that is considered uncertain
is expected to change. Seeq Formula Language contains functions that allow manipulation of the cursor, which marks where uncertainty begins, to enable highly-specific use cases. These functions should be avoided, as they are often the root cause of data inconsistency errors:
setCertain
setCursor
setUncertainty
The error text “Error encountered in formula that uses an unsafe-cursor operator” is a hint that a data request failed due to a data inconsistency when an unsafe-cursor function is in use in the formula hierarchy, since manipulating the cursor is the likely cause of the data inconsistency.
To resolve the issue:
Identify the formula item with the unsafe-cursor operator and clear its cache
If the data request completes successfully, that indicates the cursor-unsafe operator is the likely cause of the failure. Note that clearing the cache only resolves the immediate inconsistency and does not address the root cause of the problem. The error will likely reoccur if no further action is taken.
The recommended solution is to remove the unsafe-cursor operator.
Alternatively, carefully review the documentation for the function to see if any adjustments are possible. For example, using a larger
margin
when usingsetUncertainty
may solve the problem. Be advised that scenarios that lead to data inconsistencies might be infrequent, so the error may still occur days or weeks later if the adjustment isn’t sufficient.
If the data request still does not complete after clearing the cache, ensure there are no other inputs that are using unsafe-cursor operators.
If one is found, repeat steps 1 and 2 for that formula item.
If clearing the cache on all formula items using unsafe-cursor functions does not result in a successful data request, please file a support request.