We had a big spike in 430 errors across all Confluence requests at the time you observed the same. The issue is no longer occurring. We are still investigating the root cause of this issue.
Were you calling the API via the Connect JS API, or from your service backend (or other)?
Hey @aknight – We saw these 430 errors being returned from all sources, including AP.request on the client browser side, as well as calls from our backend Connect app.
At least in the instances captured by our telemetry, Confluence Cloud was returning HTML pages with the <title> “Something went wrong” and “Moving Mountains”.
I’m an engineer on Confluence Cloud. Thank you for bringing the behavior you’re experiencing to our attention. All of this is good information for our investigation. We’re currently looking into this matter and will update the thread accordingly.
Edit - To avoid any confusion, I’ve edited my previous comment. I can confirm that the issue is not occurring since the fix we did yesterday as shared by Alex.
The HTTP 430 issue reappeared today (starting 2022-08-31 around 00:54 UTC, most recently seen at 08:32 UTC), albeit with a much lower frequency than before. I’ve seen about a half-a-dozen occurrences across all clients this morning. The problem was seen on the browser side via AP.request, again with the “Something went wrong” and “Moving mountains” response.
We also saw a cluster of HTTP 500 errors in the middle of this to the same endpoint (2022-08-31 3:54:53 AM UTC) with an interesting stack trace. This is again a response to the browser AP.request (table name suffix redacted by me):
<h1>HTTP Status 500 – Internal Server Error</h1>
<hr class="line" />
<p><b>Type</b> Exception Report</p>
<p><b>Message</b>
Caught PSQLException for select connect_addons_f4ed3a.addon_key</p>
<p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p>
<b>Exception</b></p>
<pre>com.querydsl.core.QueryException: Caught PSQLException for select connect_addons_******.addon_key
from connect_addons_****** connect_addons_******
com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50)
com.querydsl.sql.Configuration.translate(Configuration.java:507)
com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:490)
com.atlassian.plugin.connect.plugin.lifecycle.storage.DatabaseConnectAddonPersister.lambda$getAllInstalledAddonKeys$7(DatabaseConnectAddonPersister.java:254)
com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:88)
com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor$1.execute(DefaultTransactionalExecutor.java:42)
com.atlassian.confluence.internal.sal.connection.SpringHostConnectionAccessor.lambda$execute$0(SpringHostConnectionAccessor.java:55)
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
com.atlassian.confluence.internal.sal.connection.SpringHostConnectionAccessor.execute(SpringHostConnectionAccessor.java:51)
com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:39)
com.atlassian.plugin.connect.plugin.lifecycle.storage.DatabaseConnectAddonPersister.getAllInstalledAddonKeys(DatabaseConnectAddonPersister.java:247)
com.atlassian.vcache.internal.core.metrics.TimedSupplier.get(TimedSupplier.java:32)
com.atlassian.vcache.internal.core.service.DefaultRequestCache.lambda$get$2(DefaultRequestCache.java:52)
java.base/java.util.Optional.orElseGet(Optional.java:369)
com.atlassian.vcache.internal.core.service.DefaultRequestCache.get(DefaultRequestCache.java:50)
com.atlassian.vcache.internal.core.metrics.TimedLocalCacheOperations.get(TimedLocalCacheOperations.java:64)
com.atlassian.plugin.connect.plugin.lifecycle.storage.DatabaseConnectAddonRegistry.getInstalledAddonKeys(DatabaseConnectAddonRegistry.java:435)
com.atlassian.plugin.connect.plugin.lifecycle.storage.DatabaseConnectAddonRegistry.hasAddonWithKey(DatabaseConnectAddonRegistry.java:362)
com.atlassian.plugin.connect.plugin.ConnectAddonAccessorImpl.isAddonInstalled(ConnectAddonAccessorImpl.java:64)
java.base/java.util.Optional.filter(Optional.java:223)
com.atlassian.plugin.connect.plugin.request.AddonKeyExtractorImpl.getAddonKeyFromHttpRequest(AddonKeyExtractorImpl.java:43)
com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:111)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.plugin.connect.plugin.auth.oauth2.OAuth2AccessTokenAuthenticationFilter.doFilter(OAuth2AccessTokenAuthenticationFilter.java:107)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.plugin.connect.plugin.auth.user.ConnectAddonLoginFilter.doFilterImpl(ConnectAddonLoginFilter.java:68)
com.atlassian.plugin.connect.plugin.auth.user.AbstractConnectAddonLoginFilter.doFilter(AbstractConnectAddonLoginFilter.java:68)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.confluence.plugins.rest.asap.servlet.AsapAuthenticationFilter.doFilter(AsapAuthenticationFilter.java:94)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:18)
com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:45)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:48)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:64)
com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56)
com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:72)
com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:71)
com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:59)
com.atlassian.confluence.web.filter.validateparam.RequestParamValidationFilter.doFilter(RequestParamValidationFilter.java:51)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.confluence.plugin.servlet.filter.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:75)
com.atlassian.confluence.web.filter.LanguageExtractionFilter.doFilter(LanguageExtractionFilter.java:51)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.confluence.web.filter.ResponseOutputStreamFilter.doFilter(ResponseOutputStreamFilter.java:23)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.confluence.web.filter.BandanaPrefetchFilter.lambda$doFilter$0(BandanaPrefetchFilter.java:53)
com.atlassian.confluence.impl.servlet.ExcludedPathsHelper.doFilter(ExcludedPathsHelper.java:55)
com.atlassian.confluence.web.filter.BandanaPrefetchFilter.doFilter(BandanaPrefetchFilter.java:47)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.confluence.web.filter.ThreadRateLimitingFilter.lambda$doFilter$4(ThreadRateLimitingFilter.java:67)
com.atlassian.ratelimit.core.impl.AbstractRateLimiter.runWithRateLimiting(AbstractRateLimiter.java:76)
com.atlassian.confluence.web.filter.ThreadRateLimitingFilter.doFilter(ThreadRateLimitingFilter.java:65)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34)
com.atlassian.confluence.impl.logging.RequestMetricsLoggingFilter.doFilter(RequestMetricsLoggingFilter.java:50)
com.atlassian.core.filters.AbstractHttpFilter.doFilter(Abs...
I’ve shared this with the engineering team and they are having a look and will post an update here when they know more.
My message here is to kindly ask you to raise these issues as an Incidents in the recently consolidated Developer and Marketplace Support Page and Service Desk in the future, including if this one reoccurs. There is a dedicated option for Incidents and this qualifies as an incident, to keep it simple this is how sometimes I refer to incidents: “something was working and is not working anymore”.
It might be even good to raise this one there directly, if you have a few minutes.
Hi @ccurti ,
I’m glad that @scott.dudley raised the issue here, because we were impacted by the first incident (see first post in this thread). This allowed us to check for the new incident @scott.dudley raised.
Is there a way to have visibility into incidents from Service Desk for marketplace partners?
Hi @marc.
As @ccurti mentioned above, reporting suspected incidents is now a part of the new Developer and Marketplace Support Service Desk.
You can (and we encourage that if you believe you are facing an incident) create publicly available incident tickets by choosing “public” in Visibility field. If you want to be notified about new incident tickets, please check out this post.