Failed to enable Rate Limiting on Bamboo - ORA-04043
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
Failed to enable Rate Limiting on Bamboo with the following error:
環境
Bamboo 8.2.4
診断
From <bamboo-home>/logs/atlassian-bamboo.log
, you will see the following error:
WARN [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-9] [QDSLSystemRateLimitingSettingsDao] Initializing system rate limiting settings DB with default 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))]
ERROR [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-9] [QDSLSystemRateLimitingSettingsDao] Caught error inserting 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))] into DB - rolling back transaction
ERROR [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-9] [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
ERROR [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-9] [DefaultLifecycleManager] LifecycleAware.onStart() failed for component with class 'com.atlassian.ratelimiting.internal.settings.DefaultRateLimitModificationSettingsService' from plugin 'com.atlassian.ratelimiting.rate-limiting-plugin'
java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy1846.prepareStatement(Unknown Source)
at com.atlassian.pocketknife.internal.querydsl.SpecificBehaviourConnection.prepareStatement(SpecificBehaviourConnection.java:247)
at com.querydsl.sql.dml.SQLInsertClause.prepareStatementAndSetParameters(SQLInsertClause.java:339)
at com.querydsl.sql.dml.SQLInsertClause.createStatement(SQLInsertClause.java:270)
at com.querydsl.sql.dml.SQLInsertClause.executeWithKeys(SQLInsertClause.java:364)
at com.querydsl.sql.dml.SQLInsertClause.executeWithKey(SQLInsertClause.java:201)
at com.querydsl.sql.dml.SQLInsertClause.executeWithKey(SQLInsertClause.java:182)
at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$create$4(QDSLSystemRateLimitingSettingsDao.java:87)
at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.lambda$null$0(PluginSpringHibernateTransactionalExecutor.java:56)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:37)
at org.hibernate.internal.AbstractSharedSessionContract.lambda$doWork$1(AbstractSharedSessionContract.java:1109)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:308)
at org.hibernate.internal.AbstractSharedSessionContract.doWork(AbstractSharedSessionContract.java:1125)
at org.hibernate.internal.AbstractSharedSessionContract.doWork(AbstractSharedSessionContract.java:1112)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.lambda$toSpringCallback$1(PluginSpringHibernateTransactionalExecutor.java:54)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.execute(PluginSpringHibernateTransactionalExecutor.java:39)
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.create(QDSLSystemRateLimitingSettingsDao.java:68)
at com.atlassian.ratelimiting.db.internal.dao.QDSLSystemRateLimitingSettingsDao.lambda$initializeDbIfNeeded$0(QDSLSystemRateLimitingSettingsDao.java:44)
at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.lambda$null$0(PluginSpringHibernateTransactionalExecutor.java:56)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:37)
at org.hibernate.internal.AbstractSharedSessionContract.lambda$doWork$1(AbstractSharedSessionContract.java:1109)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:308)
at org.hibernate.internal.AbstractSharedSessionContract.doWork(AbstractSharedSessionContract.java:1125)
at org.hibernate.internal.AbstractSharedSessionContract.doWork(AbstractSharedSessionContract.java:1112)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.lambda$toSpringCallback$1(PluginSpringHibernateTransactionalExecutor.java:54)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at com.atlassian.bamboo.spring.PluginSpringHibernateTransactionalExecutor.execute(PluginSpringHibernateTransactionalExecutor.java:39)
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)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager$1.accept(DefaultLifecycleManager.java:259)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyLifecyleAware(DefaultLifecycleManager.java:290)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyOnStartIfStartedAndEnabled(DefaultLifecycleManager.java:258)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyLifecycleAwares(DefaultLifecycleManager.java:243)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.notifyStartableLifecycleAwares(DefaultLifecycleManager.java:221)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.startIfApplicationSetup(DefaultLifecycleManager.java:209)
at com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.start(DefaultLifecycleManager.java:200)
at com.atlassian.sal.bamboo.lifecycle.BambooLifecycleManager.onBambooContainerStart(BambooLifecycleManager.java:40)
at com.atlassian.sal.bamboo.lifecycle.ServerStartupListener.handleEvent(ServerStartupListener.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42)
at com.atlassian.event.internal.ComparableListenerInvoker.invoke(ComparableListenerInvoker.java:48)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.bamboo.spring.NonLeakableConnection$1.invoke(NonLeakableConnection.java:35)
... 61 more
Caused by: java.sql.SQLSyntaxErrorException: ORA-04043: object "TEST" does not exist
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:456)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:451)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1123)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:553)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:269)
at oracle.jdbc.driver.T4C8Odsy.doODSY(T4C8Odsy.java:146)
at oracle.jdbc.driver.T4C8Odsy.doODSYTable(T4C8Odsy.java:126)
at oracle.jdbc.driver.T4CConnection.doDescribeTable(T4CConnection.java:5181)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:4656)
at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:372)
at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
... 66 more
原因
The error appears if you are using an Oracle JDBC driver earlier than 21.x.
To check the version of the current Oracle JDBC on your Bamboo instance, go to the <bamboo-install>/bin/
folder and run the command java -jar ojdbcX.jar:
java -jar ojdbc8.jar
Oracle 23.3.0.23.09 JDBC 4.2 debug compiled with javac 1.8.0_381-ea on Thu_Aug_31_22:00:13_PDT_2023
The version of ojdbc8.jar here is 23.3.0.23.09.
ソリューション
Rate limiting is only compatible with the Oracle JDBC 21.x driver. Upgrade the Oracle driver to version 21 or later.