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

Add a globally configurable setting to timeout plugins and macros

    • 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.

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

      Plugins are a great feature, but all too often, those plugins are so powerful that users are able to craft pages that bring the server to its knees.

      Ideally, there should be controls in the plugin for a server administrator to manage that restrict users from being able to bring down the server. However, it seems that most plugins do not have these controls.

      It would be extremely useful if Confluence itself had a configurable timeout for all calls out to a plugin. That way, the server admin could tweak this setting to a value that protects the server while still being useful.

            [CONFSERVER-9344] Add a globally configurable setting to timeout plugins and macros

            BillA added a comment -

            Thank you for raising this issue. While we can see how this feature would be useful, we have no plans to implement it in the foreseeable future. In order to set expectations, we're closing this request now.

            Thanks again for your idea.

            Bill Arconati,
            Confluence Group Product Manager

            BillA added a comment - Thank you for raising this issue. While we can see how this feature would be useful, we have no plans to implement it in the foreseeable future. In order to set expectations, we're closing this request now. Thanks again for your idea. Bill Arconati, Confluence Group Product Manager

            I've committed the changes to my Confluence fork.

            Brian Nguyen (Inactive) added a comment - I've committed the changes to my Confluence fork .

            +1 I would say that this would allow us to deflect a large portion of cases, that is, once they upgrade to a version that implements the change.

            Tim Wong (Inactive) added a comment - +1 I would say that this would allow us to deflect a large portion of cases, that is, once they upgrade to a version that implements the change.

            The only reason this was rolled back was because it had a conflict with a previous breaking commit. It would be really useful for Support if we could include this into the commit.

            Brian Nguyen (Inactive) added a comment - The only reason this was rolled back was because it had a conflict with a previous breaking commit. It would be really useful for Support if we could include this into the commit.

            Anatoli added a comment -

            The commit was rolled back. Whoever picks up this issue please go throug the Brians review, address comments, find out why it was rolled back and fix the problems.

            Anatoli added a comment - The commit was rolled back. Whoever picks up this issue please go throug the Brians review, address comments, find out why it was rolled back and fix the problems.

            More specifically I have been thinking of a page rendering timeout.

            With powerful macros like reporting it is not too difficult to create a page that takes more or less forever to render. This has two implications: the page becomes uneditable unless you are quite highly skilled to edit the page without first viewing it and every single attempt to view the page will reserve one thread for a uncertain amount of time.

            I'd like to think of a timer that is launched when a page rendering begins. If it timeouts the thread is freed up and the page is marked as 'unrendable' and presented as wiki markup so that it is possible to correct it. Furthermore subsequent calls to that version would be directly presented is this mode.

            I know that 3.0 has significant performance improvments so this could be a bit outdated, time will show how it performs with complex macro calls.

            Jonas Sundman added a comment - More specifically I have been thinking of a page rendering timeout. With powerful macros like reporting it is not too difficult to create a page that takes more or less forever to render. This has two implications: the page becomes uneditable unless you are quite highly skilled to edit the page without first viewing it and every single attempt to view the page will reserve one thread for a uncertain amount of time. I'd like to think of a timer that is launched when a page rendering begins. If it timeouts the thread is freed up and the page is marked as 'unrendable' and presented as wiki markup so that it is possible to correct it. Furthermore subsequent calls to that version would be directly presented is this mode. I know that 3.0 has significant performance improvments so this could be a bit outdated, time will show how it performs with complex macro calls.

              Unassigned Unassigned
              121a2859b0d4 Doug Barth
              Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: