This is an automated email from the ASF dual-hosted git repository.

yasithdev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/master by this push:
     new bcd675749d fix: eliminate server cold-start startup warnings (#624)
bcd675749d is described below

commit bcd675749df95b3e319beb8d8350744a06b71d66
Author: Yasith Jayawardana <[email protected]>
AuthorDate: Sat Jun 6 02:19:08 2026 -0400

    fix: eliminate server cold-start startup warnings (#624)
    
    Align the SHARING composite-key column lengths in SharingEntity/SharingPK
    with the V1 baseline (varchar(152)) so Hibernate ddl-auto stops trying to
    widen them past InnoDB's 3072-byte key limit. Register Armeria's
    BeanPostProcessor as a static @Bean (excluding the library's non-static
    ArmeriaBeanPostProcessorConfiguration) to remove the BPP-eligibility 
warning.
    The server now cold-starts with zero WARN/ERROR.
---
 .../java/org/apache/airavata/sharing/model/SharingEntity.java  | 10 +++++-----
 .../main/java/org/apache/airavata/sharing/model/SharingPK.java | 10 +++++-----
 .../org/apache/airavata/server/grpc/AiravataArmeriaConfig.java |  9 +++++++++
 airavata-server/src/main/resources/application.properties      |  1 +
 4 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
 
b/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
index e12983fdf4..d926ce4476 100644
--- 
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
+++ 
b/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
@@ -38,7 +38,7 @@ public class SharingEntity {
     private Long updatedTime;
 
     @Id
-    @Column(name = "PERMISSION_TYPE_ID")
+    @Column(name = "PERMISSION_TYPE_ID", length = 152)
     public String getPermissionTypeId() {
         return permissionTypeId;
     }
@@ -48,7 +48,7 @@ public class SharingEntity {
     }
 
     @Id
-    @Column(name = "ENTITY_ID")
+    @Column(name = "ENTITY_ID", length = 152)
     public String getEntityId() {
         return entityId;
     }
@@ -58,7 +58,7 @@ public class SharingEntity {
     }
 
     @Id
-    @Column(name = "GROUP_ID")
+    @Column(name = "GROUP_ID", length = 152)
     public String getGroupId() {
         return groupId;
     }
@@ -68,7 +68,7 @@ public class SharingEntity {
     }
 
     @Id
-    @Column(name = "INHERITED_PARENT_ID")
+    @Column(name = "INHERITED_PARENT_ID", length = 152)
     public String getInheritedParentId() {
         return inheritedParentId;
     }
@@ -78,7 +78,7 @@ public class SharingEntity {
     }
 
     @Id
-    @Column(name = "DOMAIN_ID")
+    @Column(name = "DOMAIN_ID", length = 152)
     public String getDomainId() {
         return domainId;
     }
diff --git 
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
 
b/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
index 49f0e51b36..70e562d11c 100644
--- 
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
+++ 
b/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
@@ -33,7 +33,7 @@ public class SharingPK implements Serializable {
     private String inheritedParentId;
     private String domainId;
 
-    @Column(name = "PERMISSION_TYPE_ID")
+    @Column(name = "PERMISSION_TYPE_ID", length = 152)
     @Id
     public String getPermissionTypeId() {
         return permissionTypeId;
@@ -43,7 +43,7 @@ public class SharingPK implements Serializable {
         this.permissionTypeId = permissionTypeId;
     }
 
-    @Column(name = "ENTITY_ID")
+    @Column(name = "ENTITY_ID", length = 152)
     @Id
     public String getEntityId() {
         return entityId;
@@ -53,7 +53,7 @@ public class SharingPK implements Serializable {
         this.entityId = entityId;
     }
 
-    @Column(name = "GROUP_ID")
+    @Column(name = "GROUP_ID", length = 152)
     @Id
     public String getGroupId() {
         return groupId;
@@ -63,7 +63,7 @@ public class SharingPK implements Serializable {
         this.groupId = groupId;
     }
 
-    @Column(name = "INHERITED_PARENT_ID")
+    @Column(name = "INHERITED_PARENT_ID", length = 152)
     @Id
     public String getInheritedParentId() {
         return inheritedParentId;
@@ -73,7 +73,7 @@ public class SharingPK implements Serializable {
         this.inheritedParentId = inheritedParentId;
     }
 
-    @Column(name = "DOMAIN_ID")
+    @Column(name = "DOMAIN_ID", length = 152)
     @Id
     public String getDomainId() {
         return domainId;
diff --git 
a/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java
 
b/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java
index a18d77145e..568282a7d3 100644
--- 
a/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java
+++ 
b/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java
@@ -24,6 +24,7 @@ import com.linecorp.armeria.server.cors.CorsService;
 import com.linecorp.armeria.server.cors.CorsServiceBuilder;
 import com.linecorp.armeria.server.docs.DocService;
 import com.linecorp.armeria.server.grpc.GrpcService;
+import com.linecorp.armeria.spring.ArmeriaBeanPostProcessor;
 import com.linecorp.armeria.spring.ArmeriaServerConfigurator;
 import io.grpc.BindableService;
 import java.util.List;
@@ -34,6 +35,7 @@ import org.apache.airavata.server.file.FileController;
 import org.apache.airavata.server.grpc.config.GrpcAuthInterceptor;
 import org.apache.airavata.server.grpc.config.HttpAuthDecorator;
 import org.apache.airavata.server.kafka.KafkaProxyService;
+import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -58,6 +60,13 @@ import org.springframework.context.annotation.Import;
         })
 public class AiravataArmeriaConfig {
 
+    // Static replacement for Armeria's non-static 
ArmeriaBeanPostProcessorConfiguration
+    // (excluded via spring.autoconfigure.exclude) — avoids the 
BPP-eligibility warning.
+    @Bean
+    public static ArmeriaBeanPostProcessor 
armeriaBeanPostProcessor(BeanFactory beanFactory) {
+        return new ArmeriaBeanPostProcessor(beanFactory);
+    }
+
     @Bean
     public ArmeriaServerConfigurator grpcServerConfigurator(
             List<BindableService> grpcServices,
diff --git a/airavata-server/src/main/resources/application.properties 
b/airavata-server/src/main/resources/application.properties
index 371bda938f..9b92c06de7 100644
--- a/airavata-server/src/main/resources/application.properties
+++ b/airavata-server/src/main/resources/application.properties
@@ -35,6 +35,7 @@ spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
 
 # --- Spring ---
 spring.main.web-application-type=none
+spring.autoconfigure.exclude=com.linecorp.armeria.spring.ArmeriaBeanPostProcessorConfiguration
 
 # --- Actuator ---
 management.endpoints.web.exposure.include=health,info

Reply via email to