Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-20997

Shortcut links log verbose MalformedURLException errors when unknown protocols are rendered

    XMLWordPrintable

Details

    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? 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: