In my current job, there is an error in the live code base which has been identified in one service.
We have identified a relatively small code change which would fix the issue and it has been confirmed to work in a test environment.
But, as this service is quiet old, with plans to phase it out over the next 12 months or so, and migrate everything towards the newer services, there has been an architectural decision made to make no more changes to the current service (with exceptions for extreme cases which are minor config changes, but our fix is being classed as a bigger change)
The alternative fix, is to migrate and redevelop the existing code to the new service, however this is a much larger chunk of work, which will need to be more extensively tested etc. And will also mean that the live production errors will remain until this work is done
I'm trying to understand, has anyone encountered something like this before, and what reasons would there be in architectural terms to not fix some code which is currently in your live system?