Big Picture User Experience
The Year 2038 problem (also known as Y2038, or Y2K38, or the ‘Epochalypse’) is a time datatype bug involving the use a signed 32-bit integer to store of Unix time. The data type is only capable of representing integers between −231 and 231 − 1, meaning the latest time that can be properly encoded 03:14:07 UTC on 19 January 2038.
While we are updating our product to use 64-bit time, we will also ensure consistent use of milliseconds throughout the product.
Enterprise SCADA Strategy
Our plan is to address this issue in our software by 2028, ten years before the critical 2038 date. This will mean that any customer with a system that is in either the Mainstream, Extended, or Mature phase of our Support Lifecycle policy will already have Y2K38 compliant AVEVA Midstream Portfolio software.
As part of our Secure Development Lifecycle (SDLC) policies, all third-party libraries must be kept up to date for all Major and Service Pack releases. As those third-parties update their components to be Y2K38 compliant, they will be included in our release in due course. Customers will apply these Service Packs as they become available in order to ensure their entire system remains compliant.
Consistent use of milliseconds will increase data fidelity and eliminate a source of defects, particularly in rate accumulator processing.
Business Value
By getting ahead of this issue, we lower the risk for our customers who will undoubtibly unconver other issues closer to the deadline. This is also a good time to address the consistent use of milliseconds, since we will be modifying all time datatypes to a 64 bit time, so all APIs will be touched anyway.
Target Version
Target version for this feature: The major releases leading up to CY2028, when all time usage is Y2K38 ready
Version the customer is on or consuming: Various
Version being targeted by project or future opportunity: TBD
Out of Scope
TBD
Assumptions
That third parties update their software ahead of time, and that we will know when they've addressed Y2K38.
As the platform changes, layered applications will also need to change.
Risks/Mitigations
That we miss something
That 3rd parties dont update in time
That this is such a big task that we will not be able to get it all done while also balancing other needs.