Central Instance Change Summary
Central instance change allows the services to be deployed as single instance for multiple tenants while allowing the data per tenant to be in separate database schema when enabled.
Central Instance Compatible Services
- egov-otp
- egov-user
- mdms-v2
- egov-workflow-v2
- user-otp
Breaking Change
1. Service Affected - Central Instance Compatible Services
Description
The URL used for flyway migration in devops should not contain currentSchema as it appends currentSchema based on SCHEMA_NAME (comma separated schema names) environment variable.
2. Service Affected - Encryption Service
Issue & Resolution Summary
While migrating from earlier version to this version for egov-enc-service, it should cause flyway migration issue. To fix flyway migration issue with new breaking change, follow the below steps -
Tables - egov_enc_service_schema
Resolution - Remove a row from the above flyway migration table in public schema. There should be only 1 row present currently
Steps -
- Check for the flyway migration history table for
egov_enc_serviceusing devops environment variableSCHEMA_TABLEfor the service. ie.egov_enc_service_schema - Confirm if there is only 1 table row
SELECT * FROM public.egov_enc_service_schema - Delete the table row
DELETE FROM public.egov_enc_service_schema
Why it needs to be done?
- Currently flyway migration contains hardcoded schema name as
public, which is removed to allow migration to run on given database schema not justpublicschema. - This caused change need in the existing schema migration script.
- To resolve this, we need to remove the migration history row as described in the above steps.
What if you migrate this in production environment?
- If deployed previously (without the fix): Will cause CrashLoopBackOff due to DB migration failure.
- If deployed fresh: No issue.
- With this fix applied: Service runs as expected with no side effects on existing data.
What's Changed
- #ISNE-656 bpa index fixes by @JithendarKumar-eGov in #657
- Update flyway version by @vinothrallapalli-eGov in #694
- Update migrate.sh by @vinothrallapalli-eGov in #696
- Update migrate.sh for central instance compatible by @vinothrallapalli-eGov in #697
- central instance related code by @palak-egov in #698
- changing kafka producer logic by @palak-egov in #700
- producer test case by @palak-egov in #701
- adding missing import by @palak-egov in #702
- Update ProducerTest.java by @palak-egov in #703
- Update WorkflowUtil.java by @palak-egov in #704
- Update BusinessServiceRepositoryV1.java by @palak-egov in #708
- central instance changes for schema and kafka topic replacement by @vinothrallapalli-eGov in #709
- Removed hard coded logic and Override the tenantid by @vinothrallapalli-eGov in #713
- Rebase master branch by @vinothrallapalli-eGov in #753
- Update BusinessServiceRepositoryV1.java by @palak-egov in #755
- Fix test failures due to MdmsFetcher calls in @PostConstruct by injecting early stubbed mock by @anishEgov in #756
- added script for parsing build-config.yaml by @nikhilmulinti in #757
- [HCMPRE-2733] Fixed missing tenant id in user search from workflow service and related tests by @holashchand in #745
- Merge the master branch changes by @vinothrallapalli-eGov in #754
New Contributors
- @vinothrallapalli-eGov made their first contribution in #694
- @palak-egov made their first contribution in #698
- @holashchand made their first contribution in #745