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