Staging is frontrunning the production environment by ~270 days. Meaning, when auction with ID = X appears on staging, after 270 days production will also create an auction with ID = X. This is problematic for components that process both staging and production data that appears onchain (for example OnSettlementEventUpdater checks for settlements that are sent to the same settlement contract from staging and production).
This is completely unnecessary complication that leads to bugs / complicated code without any need.
Suggestion is to bump staging auction id by some big number so that production will "never" catch it. Since auction_id is saved to db as i64, suggestion is to bump current staging auction id by i64::MAX / 2.
This can be safely done in a few steps:
Merge code: "if auction_id < i64::MAX/2 then auction_id = i64::MAX/2"
Once executed on all staging environments merge PR that will remove this code
Make sure no weekly release is made in between (we want this code executed on staging only).
Background
Staging is frontrunning the production environment by ~270 days. Meaning, when auction with ID = X appears on staging, after 270 days production will also create an auction with ID = X. This is problematic for components that process both staging and production data that appears onchain (for example OnSettlementEventUpdater checks for settlements that are sent to the same settlement contract from staging and production).
This is completely unnecessary complication that leads to bugs / complicated code without any need.
Suggestion is to bump staging auction id by some big number so that production will "never" catch it. Since auction_id is saved to db as i64, suggestion is to bump current staging auction id by i64::MAX / 2.
This can be safely done in a few steps:
Acceptance criteria
Once finished, staging auction_ids are bumped.