diff --git a/db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.1.0_rollback.sql b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.0.2_rollback.sql similarity index 100% rename from db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.1.0_rollback.sql rename to db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.0.2_rollback.sql diff --git a/db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.1.0_upgrade.sql b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.0.2_upgrade.sql similarity index 100% rename from db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.1.0_upgrade.sql rename to db_upgrade_scripts/mosip_kernel/sql/1.2.0.1_to_1.2.0.2_upgrade.sql diff --git a/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_rollback.sql b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_rollback.sql new file mode 100644 index 00000000000..31e406cb6f6 --- /dev/null +++ b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_rollback.sql @@ -0,0 +1 @@ +\echo 'rollback Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION' \ No newline at end of file diff --git a/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_upgrade.sql b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_upgrade.sql new file mode 100644 index 00000000000..381e2be11c1 --- /dev/null +++ b/db_upgrade_scripts/mosip_kernel/sql/1.2.0.2_to_1.2.1.0_upgrade.sql @@ -0,0 +1 @@ +\echo 'Upgrade Queries not required for transition from $CURRENT_VERSION to $UPGRADE_VERSION' \ No newline at end of file diff --git a/kernel/kernel-bioapi-provider/pom.xml b/kernel/kernel-bioapi-provider/pom.xml index 3ccc9ad04e0..ed607f15241 100644 --- a/kernel/kernel-bioapi-provider/pom.xml +++ b/kernel/kernel-bioapi-provider/pom.xml @@ -217,7 +217,7 @@ 1.4.2 1.4.2 1.2.1.0-SNAPSHOT - 1.2.0.1 + 1.2.0.4 0.8.5 diff --git a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/IDGeneratorVertxApplication.java b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/IDGeneratorVertxApplication.java index 292af017f39..a05fd229b14 100644 --- a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/IDGeneratorVertxApplication.java +++ b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/IDGeneratorVertxApplication.java @@ -11,6 +11,7 @@ import javax.annotation.PostConstruct; +import io.mosip.kernel.idgenerator.util.Utility; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -65,6 +66,10 @@ public class IDGeneratorVertxApplication { */ private static Logger LOGGER; + private static final long DEFAULT_VID_JOB_FREQUENCY = 10000L; + + private static final long DEFAULT_UIN_JOB_FREQUENCY=10000L; + /** * Server context path. */ @@ -173,7 +178,7 @@ private static void startApplication() { Verticle[] workerVerticles = { new VidPoolCheckerVerticle(context), new VidPopulatorVerticle(context), new VidExpiryVerticle(context), new VidIsolatorVerticle(context) }; Stream.of(workerVerticles).forEach(verticle -> deploy(verticle, workerOptions, vertx)); - vertx.setTimer(1000, handler -> initVIDPool()); + vertx.setTimer(getVidInitJobFrequency(), handler -> initVIDPool()); Verticle[] uinVerticles = { new UinGeneratorVerticle(context),new UinTransferVerticle(context)}; Stream.of(uinVerticles).forEach(verticle -> vertx.deployVerticle(verticle, stringAsyncResult -> { if (stringAsyncResult.succeeded()) { @@ -183,6 +188,7 @@ private static void startApplication() { + stringAsyncResult.cause()); } })); + vertx.setTimer(getUinInitJobFrequency(), handler -> initUINPool()); vertx.setTimer(1000, handler -> initUINPool()); } @@ -205,4 +211,18 @@ private static void deploy(Verticle verticle, DeploymentOptions opts, Vertx vert } }); } + + /** + * Get VID init job frequency from system properties or default. + */ + private static long getVidInitJobFrequency() { + return Utility.getLongProperty("mosip.kernel.vid.init-job-frequency", DEFAULT_VID_JOB_FREQUENCY); + } + + /** + * Get UIN init job frequency from system properties or default. + */ + private static long getUinInitJobFrequency() { + return Utility.getLongProperty("mosip.kernel.uin.init-job-frequency", DEFAULT_UIN_JOB_FREQUENCY); + } } diff --git a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/util/Utility.java b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/util/Utility.java new file mode 100644 index 00000000000..f9041c31d33 --- /dev/null +++ b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/idgenerator/util/Utility.java @@ -0,0 +1,28 @@ +package io.mosip.kernel.idgenerator.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.function.Function; + +public class Utility { + + private static final Logger LOGGER = LoggerFactory.getLogger(Utility.class); + + public static T getProperty(String propertyKey, T defaultValue, Function parser) { + try { + String value = System.getProperty(propertyKey); + if (value == null || value.trim().isEmpty()) { + LOGGER.info("{} is missing. Using default: {}", propertyKey, defaultValue); + return defaultValue; + } + return parser.apply(value.trim()); + } catch (Exception e) { + LOGGER.warn("Error reading property {}. Using default: {}", propertyKey, defaultValue, e); + return defaultValue; + } + } + + public static long getLongProperty(String propertyKey, long defaultValue) { + return getProperty(propertyKey, defaultValue, Long::parseLong); + } +} \ No newline at end of file diff --git a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/repository/UinRepository.java b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/repository/UinRepository.java index 9798700f638..b4ca638ad71 100644 --- a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/repository/UinRepository.java +++ b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/repository/UinRepository.java @@ -53,9 +53,9 @@ public interface UinRepository extends JpaRepository { @Query(value = "UPDATE kernel.uin SET uin_status=:status, upd_by=:contextUser, upd_dtimes=:uptimes where uin=:uin", nativeQuery = true) public void updateStatus(@Param("status") String status, @Param("contextUser") String contextUser, @Param("uptimes") LocalDateTime uptimes, @Param("uin") String uin); - - @Query(value = "select uu.uin, uu.cr_by, uu.cr_dtimes, uu.del_dtimes, uu.is_deleted, uu.upd_by, uu.upd_dtimes, uu.uin_status from kernel.uin uu where uu.uin_status=?", nativeQuery = true) - public List findByStatus(String status); + + @Query(value = "select uu.uin, uu.cr_by, uu.cr_dtimes, uu.del_dtimes, uu.is_deleted, uu.upd_by, uu.upd_dtimes, uu.uin_status from kernel.uin uu where uu.uin_status=:status LIMIT :pageSize", nativeQuery = true) + public List findByStatus(@Param("status") String status, @Param("pageSize") int pageSize); long countByStatusAndIsDeletedFalse(String status); } \ No newline at end of file diff --git a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/service/impl/UinServiceImpl.java b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/service/impl/UinServiceImpl.java index b0975f6e29b..7233288085b 100644 --- a/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/service/impl/UinServiceImpl.java +++ b/kernel/kernel-idgenerator-service/src/main/java/io/mosip/kernel/uingenerator/service/impl/UinServiceImpl.java @@ -9,6 +9,7 @@ import org.modelmapper.ModelMapper; import org.modelmapper.TypeToken; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -61,7 +62,10 @@ public class UinServiceImpl implements UinService { */ @Autowired private UINMetaDataUtil metaDataUtil; - + + @Value("${mosip.kernel.uin.page.size:50000}") + private int pageSize; + @Autowired private VertxAuthenticationProvider authHandler; @@ -128,7 +132,7 @@ public UinStatusUpdateReponseDto updateUinStatus(UinEntity uinAck, RoutingContex @Transactional(transactionManager = "transactionManager") @Override public void transferUin() { - List uinEntities=uinRepository.findByStatus(UinGeneratorConstant.ASSIGNED); + List uinEntities=uinRepository.findByStatus(UinGeneratorConstant.ISSUED,pageSize); List uinEntitiesAssined = modelMapper.map(uinEntities, new TypeToken>() {}.getType()); uinRepositoryAssigned.saveAll(uinEntitiesAssined); uinRepository.deleteAll(uinEntities); diff --git a/kernel/kernel-notification-service/pom.xml b/kernel/kernel-notification-service/pom.xml index 6efb0c8597f..c3a227211eb 100644 --- a/kernel/kernel-notification-service/pom.xml +++ b/kernel/kernel-notification-service/pom.xml @@ -476,7 +476,7 @@ It will be required only when running the below command mvn clean verify -Dgpg.skip -DskipTests -Dmaven.javadoc.skip -P openapi-doc-generate-profile Note:- It is not required to have the latest version of auth adapter.--> - v1.2.1.0-SNAPSHOT + 1.2.0.1 io.mosip.kernel @@ -485,7 +485,7 @@ mvn clean verify -Dgpg.skip -DskipTests -Dmaven.javadoc.skip -P openapi-doc-generate-profile Note:- It is not required to have the latest version of kernel-smsserviceprovider-msg91.--> kernel-smsserviceprovider-msg91 - 1.2.1.0-SNAPSHOT + 1.2.0.1 diff --git a/kernel/kernel-pdfgenerator/pom.xml b/kernel/kernel-pdfgenerator/pom.xml index f917217b18b..9b3813a7d1d 100644 --- a/kernel/kernel-pdfgenerator/pom.xml +++ b/kernel/kernel-pdfgenerator/pom.xml @@ -213,7 +213,7 @@ 1.8.12 1.4.2 1.4.2 - 1.2.0.1 + 1.2.1.0-SNAPSHOT 2.0.29 0.8.5 diff --git a/kernel/kernel-ridgenerator-service/pom.xml b/kernel/kernel-ridgenerator-service/pom.xml index da327b90938..cb3fa6121ce 100644 --- a/kernel/kernel-ridgenerator-service/pom.xml +++ b/kernel/kernel-ridgenerator-service/pom.xml @@ -374,7 +374,7 @@ It will be required only when running the below command mvn clean verify -Dgpg.skip -DskipTests -Dmaven.javadoc.skip -P openapi-doc-generate-profile Note:- It is not required to have the latest version of auth adapter.--> - v1.2.1.0-SNAPSHOT-B2 + 1.2.0.1