Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-6206

After upgrading or perform a fresh Crowd install, Rate Limiting plugins reports missing tables in DB side

      Issue Summary

      Rate limiting plugins fails to find AO tables in the DB side, despite the tables being there. 

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Install Crowd for the first time, or upgrade to Crowd 5.2.1 (or later version)

      Expected Results

      There are no DB errors in the logs or the Crowd UI when accessing the Rate Limiting plugin

      Actual Results

      The following error can be observed when accessing to Rate Limiting menu in Crowd UI: 

      The below exception is thrown in the atlassian-crowd.log file, depending on yoru DB version. 

      • In PostgreSQL:
        2024-02-05 13:41:37,136 main ERROR [db.internal.dao.QDSLSystemRateLimitingSettingsDao] Caught error initializing system rate limiting settings: [SystemRateLimitingSettings(mode=OFF, bucketSettings=TokenBucketSettings(capacity=50, fillRate=10, intervalFrequency=1, intervalTimeUnit=Seconds), jobControlSettings=SystemJobControlSettings(reportingDbArchivingJobFrequencyDuration=PT1M10S, reportingDbRetentionPeriodDuration=PT24H, bucketCollectionJobFrequencyDuration=PT5M, bucketCleanupJobFrequencyDuration=PT15M, settingsReloadJobFrequencyDuration=PT1M))] in DB - rolling back transaction
        2024-02-05 13:41:37,137 main ERROR [sal.core.lifecycle.DefaultLifecycleManager] LifecycleAware.onStart() failed for component with class 'com.atlassian.ratelimiting.internal.crowd.CrowdRateLimitModificationSettingsService' from plugin 'com.atlassian.ratelimiting.rate-limiting-plugin'
        com.querydsl.core.QueryException: Caught PSQLException for select "AO_AC3877_SYSTEM_RL_SETTINGS"."NAME", "AO_AC3877_SYSTEM_RL_SETTINGS"."MODE", "AO_AC3877_SYSTEM_RL_SETTINGS"."CAPACITY", "AO_AC3877_SYSTEM_RL_SETTINGS"."FILL_RATE", "AO_AC3877_SYSTEM_RL_SETTINGS"."INTERVAL_FREQUENCY", "AO_AC3877_SYSTEM_RL_SETTINGS"."INTERVAL_TIME_UNIT", "AO_AC3877_SYSTEM_RL_SETTINGS"."FLUSH_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."REAPER_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."RETENTION_PERIOD_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."CLEAN_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."SETTINGS_RELOAD_JOB_DURATION" from "public"."AO_AC3877_SYSTEM_RL_SETTINGS" "AO_AC3877_SYSTEM_RL_SETTINGS" where "AO_AC3877_SYSTEM_RL_SETTINGS"."NAME" = ? limit ?
                at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) ~[?:?]
                at com.querydsl.sql.Configuration.translate(Configuration.java:459) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterateSingle(AbstractSQLQuery.java:410) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterate(AbstractSQLQuery.java:342) ~[?:?]
                at com.querydsl.sql.ProjectableSQLQuery.fetchOne(ProjectableSQLQuery.java:397) ~[?:?]
                at com.querydsl.core.support.FetchableQueryBase.fetchFirst(FetchableQueryBase.java:51) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$getSystemSettings$8(QDSLSystemRateLimitingSettingsDao.java:153) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) ~[?:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) ~[sal-core-5.1.4.jar:?]
        ...
        ...
        
      • In Oracle:
        024-02-07 07:23:32,791 main ERROR [db.internal.dao.QDSLSystemRateLimitingSettingsDao] Caught error initializing system rate limiting settings: [SystemRateLimitingSettings(mode=OFF, bucketSettings=TokenBucketSettings(capacity=50, fillRate=10, intervalFrequency=1, intervalTimeUnit=Seconds), jobControlSettings=SystemJobControlSettings(reportingDbArchivingJobFrequencyDuration=PT1M10S, reportingDbRetentionPeriodDuration=PT24H, bucketCollectionJobFrequencyDuration=PT5M, bucketCleanupJobFrequencyDuration=PT15M, settingsReloadJobFrequencyDuration=PT1M))] in DB - rolling back transaction
        2024-02-07 07:23:32,791 main ERROR [sal.core.lifecycle.DefaultLifecycleManager] LifecycleAware.onStart() failed for component with class 'com.atlassian.ratelimiting.internal.crowd.CrowdRateLimitModificationSettingsService' from plugin 'com.atlassian.ratelimiting.rate-limiting-plugin'
        com.querydsl.core.QueryException: Caught SQLSyntaxErrorException for select * from (   select "AO_AC3877_SYSTEM_RL_SETTINGS"."NAME", "AO_AC3877_SYSTEM_RL_SETTINGS"."MODE", "AO_AC3877_SYSTEM_RL_SETTINGS"."CAPACITY", "AO_AC3877_SYSTEM_RL_SETTINGS"."FILL_RATE", "AO_AC3877_SYSTEM_RL_SETTINGS"."INTERVAL_FREQUENCY", "AO_AC3877_SYSTEM_RL_SETTINGS"."INTERVAL_TIME_UNIT", "AO_AC3877_SYSTEM_RL_SETTINGS"."FLUSH_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."REAPER_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."RETENTION_PERIOD_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."CLEAN_JOB_DURATION", "AO_AC3877_SYSTEM_RL_SETTINGS"."SETTINGS_RELOAD_JOB_DURATION" from "ATLASSIAN"."AO_AC3877_SYSTEM_RL_SETTINGS" "AO_AC3877_SYSTEM_RL_SETTINGS" where "AO_AC3877_SYSTEM_RL_SETTINGS"."NAME" = ? ) where rownum <= ?
                at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) ~[?:?]
                at com.querydsl.sql.Configuration.translate(Configuration.java:459) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterateSingle(AbstractSQLQuery.java:410) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterate(AbstractSQLQuery.java:342) ~[?:?]
                at com.querydsl.sql.ProjectableSQLQuery.fetchOne(ProjectableSQLQuery.java:397) ~[?:?]
                at com.querydsl.core.support.FetchableQueryBase.fetchFirst(FetchableQueryBase.java:51) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$getSystemSettings$8(QDSLSystemRateLimitingSettingsDao.java:153) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) ~[?:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.lambda$execute$0(SpringHostConnectionAccessor.java:55) ~[sal-spring-5.1.4.jar:?]
                at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.30.jar:5.3.30]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.execute(SpringHostConnectionAccessor.java:49) ~[sal-spring-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:61) ~[sal-core-5.1.4.jar:?]
        ...
        ...
        Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
        
                at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:59) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:747) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3780) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1343) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3822) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165) ~[ojdbc8-12.2.0.1-atlassian-hosted.jar:12.2.0.1.0]
                at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:431) ~[c3p0-0.9.5.4.jar:0.9.5.4]
                at com.querydsl.sql.AbstractSQLQuery.iterateSingle(AbstractSQLQuery.java:370) ~[?:?]
                ... 113 more
        
      • In MySQL:
        2024-02-07 07:19:37,122 pool-9-thread-1 INFO [atlassian.marketplace.client.MarketplaceClient] GET https://marketplace.atlassian.com/rest/2/applications/crowd/versions/build/1944
        2024-02-07 07:19:37,008 main ERROR [sal.core.lifecycle.DefaultLifecycleManager] LifecycleAware.onStart() failed for component with class 'com.atlassian.ratelimiting.internal.crowd.CrowdRateLimitModificationSettingsService' from plugin 'com.atlassian.ratelimiting.rate-limiting-plugin'
        com.querydsl.core.QueryException: Caught MySQLSyntaxErrorException for select `AO_AC3877_SYSTEM_RL_SETTINGS`.`NAME`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`MODE`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`CAPACITY`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`FILL_RATE`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`INTERVAL_FREQUENCY`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`INTERVAL_TIME_UNIT`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`FLUSH_JOB_DURATION`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`REAPER_JOB_DURATION`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`RETENTION_PERIOD_DURATION`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`CLEAN_JOB_DURATION`, `AO_AC3877_SYSTEM_RL_SETTINGS`.`SETTINGS_RELOAD_JOB_DURATION` from `AO_AC3877_SYSTEM_RL_SETTINGS` `AO_AC3877_SYSTEM_RL_SETTINGS` where `AO_AC3877_SYSTEM_RL_SETTINGS`.`NAME` = ? limit ?
                at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) ~[?:?]
                at com.querydsl.sql.Configuration.translate(Configuration.java:459) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterateSingle(AbstractSQLQuery.java:410) ~[?:?]
                at com.querydsl.sql.AbstractSQLQuery.iterate(AbstractSQLQuery.java:342) ~[?:?]
                at com.querydsl.sql.ProjectableSQLQuery.fetchOne(ProjectableSQLQuery.java:397) ~[?:?]
                at com.querydsl.core.support.FetchableQueryBase.fetchFirst(FetchableQueryBase.java:51) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$getSystemSettings$8(QDSLSystemRateLimitingSettingsDao.java:153) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) ~[?:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.lambda$execute$0(SpringHostConnectionAccessor.java:55) ~[sal-spring-5.1.4.jar:?]
                at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.30.jar:5.3.30]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.execute(SpringHostConnectionAccessor.java:49) ~[sal-spring-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:61) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.getSystemSettings(QDSLSystemRateLimitingSettingsDao.java:149) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$initializeDbIfNeeded$0(QDSLSystemRateLimitingSettingsDao.java:40) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) ~[?:?]
        ...
        ...
        
      • In SQLServer, there is also a DB error, but slightly different:
        024-02-07 10:56:14,884 main WARN [internal.querydsl.schema.DatabaseSchemaCreationImpl] ActiveObjects method flushAll is not available : org.joor.ReflectException: java.lang.reflect.InvocationTargetException
        2024-02-07 10:56:14,895 main ERROR [sal.core.lifecycle.DefaultLifecycleManager] LifecycleAware.onStart() failed for component with class 'com.atlassian.ratelimiting.internal.crowd.CrowdRateLimitModificationSettingsService' from plugin 'com.atlassian.ratelimiting.rate-limiting-plugin'
        java.lang.AbstractMethodError: null
                at net.sourceforge.jtds.jdbc.JtdsConnection.getSchema(JtdsConnection.java:2881) ~[jtds-1.3.1.jar:1.3.1]
                at com.mchange.v2.c3p0.impl.NewProxyConnection.getSchema(NewProxyConnection.java:1668) ~[c3p0-0.9.5.4.jar:0.9.5.4]
                at com.atlassian.crowd.ratelimiting.CrowdConnectionProvider.getSchemaName(CrowdConnectionProvider.java:34) ~[crowd-server-5.2.3.jar:?]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.getSchemaName(SpringHostConnectionAccessor.java:62) ~[sal-spring-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.getSchemaName(DefaultTransactionalExecutor.java:71) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.pocketknife.internal.querydsl.schema.ProductSchemaProvider.getProductSchema(ProductSchemaProvider.java:24) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.schema.DefaultSchemaProvider.getProductSchema(DefaultSchemaProvider.java:64) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.dialect.DefaultDialectConfiguration.enrich(DefaultDialectConfiguration.java:80) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.dialect.DefaultDialectConfiguration.buildTemplates(DefaultDialectConfiguration.java:117) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.dialect.DefaultDialectConfiguration.detect(DefaultDialectConfiguration.java:72) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.util.MemoizingResettingReference.lambda$get$0(MemoizingResettingReference.java:59) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.util.MemoizingResettingReference$SmarterMemoizingSupplier.get(MemoizingResettingReference.java:150) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.util.MemoizingResettingReference.safelyGetT(MemoizingResettingReference.java:71) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.util.MemoizingResettingReference.get(MemoizingResettingReference.java:63) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.dialect.DefaultDialectConfiguration.getDialectConfig(DefaultDialectConfiguration.java:61) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseConnectionConverterImpl.getDialectConfig(DatabaseConnectionConverterImpl.java:46) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseConnectionConverterImpl.convertImpl(DatabaseConnectionConverterImpl.java:40) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseConnectionConverterImpl.convertExternallyManaged(DatabaseConnectionConverterImpl.java:34) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:68) ~[?:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.lambda$execute$0(SpringHostConnectionAccessor.java:55) ~[sal-spring-5.1.4.jar:?]
                at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.30.jar:5.3.30]
                at com.atlassian.sal.spring.connection.SpringHostConnectionAccessor.execute(SpringHostConnectionAccessor.java:49) ~[sal-spring-5.1.4.jar:?]
                at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:61) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67) ~[?:?]
                at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43) ~[?:?]
                at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.initializeDbIfNeeded(QDSLSystemRateLimitingSettingsDao.java:39) ~[?:?]
                at com.atlassian.ratelimiting.internal.configuration.DefaultSystemPropertiesService.initializeData(DefaultSystemPropertiesService.java:64) ~[?:?]
                at com.atlassian.ratelimiting.internal.settings.RateLimitModificationSettingsService.onStart(RateLimitModificationSettingsService.java:92) ~[?:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager$1.accept(DefaultLifecycleManager.java:262) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager$1.accept(DefaultLifecycleManager.java:259) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyLifecyleAware(DefaultLifecycleManager.java:290) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyOnStartIfStartedAndEnabled(DefaultLifecycleManager.java:258) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyLifecycleAwares(DefaultLifecycleManager.java:243) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyStartableLifecycleAwares(DefaultLifecycleManager.java:221) ~[sal-core-5.1.4.jar:?]
                at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.startIfApplicationSetup(DefaultLifecycleManager.java:209) ~[sal-core-5.1.4.jar:?]
        ...
        ...
        

      Despite these errors, the related tables are present in the Crowd database schema.  

      Workaround

      1. Restarting Crowd fixes the issue.

      2. Oracle DB:
      If you install Oracle 21c driver the issue with the Rate Limiting doesn't occur. If you would like to apply this workaround please follow the below steps:

      1. Go to the <installatin directory>/apache-tomcat/lib directory.
      2. Move the jar files starting with ojdbc8 to a safe location outside of <installatin directory>/apache-tomcat/lib directory.
      3. Download the new ojdbc8.jar to <installatin directory>/apache-tomcat/lib. Make sure that permission is set properly for this jar file like the other jar files.
      4. Restart Crowd server.
      5. Check the Rate Limiting page if you see any errors.

      Note: In some cases, you may also need to apply the system property from our Jira with Oracle Database Throwing IO Error Socket Read Interrupted Errors after changing to ojdbc8.

            [CWD-6206] After upgrading or perform a fresh Crowd install, Rate Limiting plugins reports missing tables in DB side

            Michal Samujlo made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 1026081 ]
            Jakub Mrozowski made changes -
            Fix Version/s New: 6.0.9 [ 112996 ]
            Fix Version/s New: 6.2.4 [ 112196 ]
            Fix Version/s New: 6.1.5 [ 111593 ]
            Fix Version/s New: 5.3.7 [ 110333 ]
            Fix Version/s New: 5.2.11 [ 110332 ]
            Michal Samujlo made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Waiting for Release [ 12075 ] New: Closed [ 6 ]
            Michal Samujlo made changes -
            Fix Version/s Original: 6.0.9 [ 112996 ]
            Fix Version/s Original: 6.2.4 [ 112196 ]
            Fix Version/s Original: 6.1.5 [ 111593 ]
            Fix Version/s Original: 5.3.7 [ 110333 ]
            Fix Version/s Original: 5.2.11 [ 110332 ]
            Pranjal Chugh made changes -
            Fix Version/s New: 6.3.1 [ 112997 ]
            Jakub Mrozowski made changes -
            Fix Version/s New: 6.0.9 [ 112996 ]
            Fix Version/s New: 6.2.4 [ 112196 ]
            Fix Version/s New: 6.1.5 [ 111593 ]
            Fix Version/s New: 5.3.7 [ 110333 ]
            Fix Version/s New: 5.2.11 [ 110332 ]
            SET Analytics Bot made changes -
            UIS Original: 42 New: 28
            SET Analytics Bot made changes -
            UIS Original: 56 New: 42
            SET Analytics Bot made changes -
            UIS Original: 70 New: 56
            Viktar Arlou made changes -
            Status Original: In Progress [ 3 ] New: Waiting for Release [ 12075 ]

              8df7baf53f92 aanastasov
              d8a006ac9dc7 Iker Alonso
              Affected customers:
              7 This affects my team
              Watchers:
              24 Start watching this issue

                Created:
                Updated:
                Resolved: