Details
-
Bug
-
Status: Draft (View Workflow)
-
TBD
-
Resolution: Unresolved
-
Future Releases
-
Bienenvolk
-
TBD
-
Orchid (R1 2023)
Description
Overview:
The process of recreating tenant fails with the following error if mod-service-interactions has not been restarted between deleting and creating tenant:
java.lang.Exception: Failed to install modules POST request for mod-service-interaction-2.2.2 /_/tenant failed with 500: { "error": 500, "message": "org.postgresql.util.PSQLException: ERROR: relation \"refdata_category\" does not exist\n Position: 158", "stackTrace": [ "org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)", "org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366)", "org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:356)", "org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:496)", "org.postgresql.jdbc.PgStatement.execute(PgStatement.java:413)", "org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)", "org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:134)", "com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)", "org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57)", "org.hibernate.loader.Loader.getResultSet(Loader.java:2303)", "org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056)", "org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018)", "org.hibernate.loader.Loader.doQuery(Loader.java:948)", "org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349)", "org.hibernate.loader.Loader.doList(Loader.java:2849)", "org.hibernate.loader.Loader.doList(Loader.java:2831)", "org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663)", "org.hibernate.loader.Loader.list(Loader.java:2658)", "org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)", "org.hibernate.internal.SessionImpl.list(SessionImpl.java:1877)", "org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370)", "org.grails.orm.hibernate.query.AbstractHibernateQuery.singleResultViaListCall(AbstractHibernateQuery.java:808)", "org.grails.orm.hibernate.query.AbstractHibernateQuery.singleResult(AbstractHibernateQuery.java:795)", "org.grails.datastore.gorm.finders.AbstractFindByFinder.invokeQuery(AbstractFindByFinder.java:35)", "org.grails.datastore.gorm.finders.AbstractFindByFinder$1.doInSession(AbstractFindByFinder.java:29)", "org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:319)", "org.grails.datastore.gorm.finders.AbstractFinder.execute(AbstractFinder.java:42)", "org.grails.datastore.gorm.finders.AbstractFindByFinder.doInvokeInternal(AbstractFindByFinder.java:27)", "org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:254)", "org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:392)", "org.grails.datastore.gorm.GormStaticApi.methodMissing(GormStaticApi.groovy:185)", "org.grails.datastore.gorm.GormEntity$Trait$Helper.staticMethodMissing(GormEntity.groovy:777)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "com.k_int.web.toolkit.refdata.RefdataValue$_lookupOrCreate_closure2.doCall(RefdataValue.groovy:69)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:1014)", "org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:877)", "org.grails.datastore.gorm.GormEntity$Trait$Helper.withTransaction(GormEntity.groovy:941)", "com.k_int.web.toolkit.refdata.RefdataValue.lookupOrCreate(RefdataValue.groovy:67)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers$_setDefaults_closure2.doCall(GrailsDomainRefdataHelpers.groovy:120)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers.setDefaults(GrailsDomainRefdataHelpers.groovy:118)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers.setDefaults(GrailsDomainRefdataHelpers.groovy:85)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers$_setDefaultsForTenant_closure1$_closure14.doCall(GrailsDomainRefdataHelpers.groovy:77)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers$_setDefaultsForTenant_closure1.doCall(GrailsDomainRefdataHelpers.groovy:76)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.multitenancy.Tenants$_withId_closure2$_closure6.doCall(Tenants.groovy:265)", "org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:297)", "org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:241)", "org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithNewSession(GrailsHibernateTemplate.java:153)", "org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithExistingOrCreateNewSession(GrailsHibernateTemplate.java:207)", "org.grails.orm.hibernate.AbstractHibernateDatastore.withNewSession(AbstractHibernateDatastore.java:369)", "grails.gorm.multitenancy.Tenants$_withId_closure2.doCall(Tenants.groovy:258)", "grails.gorm.multitenancy.Tenants$CurrentTenant.withTenant(Tenants.groovy:358)", "grails.gorm.multitenancy.Tenants.withId(Tenants.groovy:236)", "grails.gorm.multitenancy.Tenants.withId(Tenants.groovy:169)", "com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers.setDefaultsForTenant(GrailsDomainRefdataHelpers.groovy:75)", "com.k_int.okapi.OkapiTenantAdminService$__tt__enableTenant_closure11$_closure15.doCall(OkapiTenantAdminService.groovy:133)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "com.k_int.web.toolkit.utils.GormUtils.withTransaction(GormUtils.groovy:65)", "com.k_int.web.toolkit.utils.GormUtils.withNewTransaction(GormUtils.groovy:52)", "com.k_int.okapi.OkapiTenantAdminService$__tt__enableTenant_closure11.doCall(OkapiTenantAdminService.groovy:132)", "services.k_int.core.FolioLockService.$tt__federatedLockAndDo(FolioLockService.groovy:198)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "com.k_int.okapi.OkapiTenantAdminService.$tt__enableTenant(OkapiTenantAdminService.groovy:98)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "com.k_int.okapi.TenantController.index(TenantController.groovy:39)", "org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)", "org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)", "org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)", "org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043)", "org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)", "org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)", "org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)", "org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)", "io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)", "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)", "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)", "grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter.doFilter(UpdateRequestContextHolderExceptionTranslationFilter.groovy:64)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.groovy:54)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:64)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)", "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)", "org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)", "org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)", "io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)", "io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)", "io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)", "io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)", "io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)", "io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)", "io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)", "io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)", "io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)", "io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)", "io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)", "io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)", "io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)", "io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)", "io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)", "io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)", "io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)", "io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)", "io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)", "io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)", "io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)", "io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)", "io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)", "io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)", "io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)", "io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)", "io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)", "java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)", "java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)", "java.base/java.lang.Thread.run(Thread.java:829)" ] }
Steps to Reproduce:
- Disable all modules on the tenant (including mod-service-interactions)
- Delete tenant
- Create tenant with the same name
- Enable all modules on the new tenant (including mod-service-interactions)
Expected Results:
Successful enabling of all modules on the new tenant.
Actual Results:
Enabling fails with the error above.
Additional Information:
There are a temporary decision for this error: restarting of the module between deleting and creating of the tenant.
Also I would like to mention that after disabling of the module there are no any objects related to the deleted tenant for this module in the database.
This error was also reproduced couple times for mod-licenses.
Interested parties: