Uploaded image for project: 'Confluence Cloud'
  1. Confluence Cloud
  2. CONFCLOUD-20997

Shortcut links log verbose MalformedURLException errors when unknown protocols are rendered

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      NOTE: This suggestion is for Confluence Cloud. Using Confluence Server? See the corresponding suggestion.

      Shortcut Link called "ssh" with expanded value ssh://%s such that [myHost@ssh] renders a hyperlink like [ssh://myHost|myHost] and we have a protocol handler in our browsers to handle that protocol.

      But every time someone views a page with several of these shortcut links, our logs FILL with stack traces like below. Can the code be updated to better catch and handle this specific type of IOException and possible not log this as an error, but maybe as a warning and not log a stack trace?

      2010-10-07 11:17:48,820 ERROR [http-80-12] [atlassian.confluence.util.GeneralUtil] completeUrlEncode Error while trying to encode the URL!
       -- referer: http://host/pages/editpage.action?pageId=28706460 | url: /display/SPACEKEY/Page+-+Name+Servers | userName: dhergert | action: viewpage | page: 28706460
      java.net.MalformedURLException: Unknown protocol: ssh
      	at java.net.URL.<init>(URL.java:601)
      	at java.net.URL.<init>(URL.java:464)
      	at java.net.URL.<init>(URL.java:413)
      	at com.atlassian.confluence.util.CompleteURLEncoder.encode(CompleteURLEncoder.java:29)
      	at com.atlassian.confluence.util.GeneralUtil.completeUrlEncode(GeneralUtil.java:275)
      	at com.atlassian.confluence.links.linktypes.ShortcutLink.<init>(ShortcutLink.java:26)
      	at com.atlassian.confluence.links.ConfluenceLinkResolver.makeShortcutLink(ConfluenceLinkResolver.java:178)
      	at com.atlassian.confluence.links.ConfluenceLinkResolver.createLink(ConfluenceLinkResolver.java:123)
      	at sun.reflect.GeneratedMethodAccessor328.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy65.createLink(Unknown Source)
      	at com.atlassian.renderer.v2.components.LinkRendererComponent.appendLink(LinkRendererComponent.java:138)
      	at com.atlassian.renderer.v2.components.LinkRendererComponent.render(LinkRendererComponent.java:96)
      	at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
      	at com.atlassian.renderer.v2.plugin.PluggableV2Renderer.render(PluggableV2Renderer.java:30)
      	at com.atlassian.renderer.v2.V2SubRenderer.render(V2SubRenderer.java:44)
      	at com.atlassian.renderer.v2.components.table.TableBlockRenderer.prerenderLinks(TableBlockRenderer.java:96)
      	at com.atlassian.renderer.v2.components.table.TableBlockRenderer.renderNextBlock(TableBlockRenderer.java:75)
      	at com.atlassian.renderer.v2.components.block.BlockRendererComponent.applyBlockRenderers(BlockRendererComponent.java:164)
      	at com.atlassian.renderer.v2.components.block.BlockRendererComponent.render(BlockRendererComponent.java:98)
      	at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
      	at com.atlassian.renderer.v2.plugin.PluggableV2Renderer.render(PluggableV2Renderer.java:30)
      	at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
      	at sun.reflect.GeneratedMethodAccessor331.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy58.convertWikiToXHtml(Unknown Source)
      	at com.atlassian.confluence.pages.actions.ViewPageAction.execute(ViewPageAction.java:194)
      	at net.customware.confluence.plugin.pageapproval.PageApprovalSpaceViewPageAction.execute(PageApprovalSpaceViewPageAction.java:81)
              <redacted for brevity >
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
      	at java.lang.Thread.run(Thread.java:619)
      
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              2f4876f78753 David Hergert [Windstream]
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: