Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-16437

Extract MailAddressResolvers to dedicated plugins

      Extract resolvers into separate plugins to allow administrator to decide which resolvers to use.

          [JENKINS-16437] Extract MailAddressResolvers to dedicated plugins

          Jesse Glick added a comment -

          Can use JIRA’s issue hierarchy to group them. I just know about the Subversion issue.

          Jesse Glick added a comment - Can use JIRA’s issue hierarchy to group them. I just know about the Subversion issue.

          Jesse Glick added a comment -

          And this one.

          Jesse Glick added a comment - And this one.

          kutzi added a comment -

          I've the opinion that the resolvers should be deleted instead of extracted - at least for SVN and CVS.
          Not sure if there are implementations in other SCM plugins and if those are using equally deprecated SCM repositories.

          kutzi added a comment - I've the opinion that the resolvers should be deleted instead of extracted - at least for SVN and CVS. Not sure if there are implementations in other SCM plugins and if those are using equally deprecated SCM repositories.

          I do not dare to say they should be deleted, but I do not see much value using them either. All I want is SVN and CVS without resolver. Maintaining a couple of dead one-file plugins is a workload I can handle.

          Oliver Gondža added a comment - I do not dare to say they should be deleted, but I do not see much value using them either. All I want is SVN and CVS without resolver. Maintaining a couple of dead one-file plugins is a workload I can handle.

          kutzi added a comment -

          I'm fine if you want to do this.
          I just want to explain my opinion a bit more:

          • we should have the courage to delete 'bad' code and not keep it forever just because of the vague suspicion that someone somewhere might still use it
          • the 'danger' (and I agree it's debatable if that's a danger) of having these plugins around is, that someone might discover them, think they're useful and use them and than later complain about the performance issues or other stuff in them

          kutzi added a comment - I'm fine if you want to do this. I just want to explain my opinion a bit more: we should have the courage to delete 'bad' code and not keep it forever just because of the vague suspicion that someone somewhere might still use it the 'danger' (and I agree it's debatable if that's a danger) of having these plugins around is, that someone might discover them, think they're useful and use them and than later complain about the performance issues or other stuff in them

          Jesse Glick added a comment -

          I have to agree with @kutzi that having published plugins known to cause abysmal performance problems is not a good idea. Lots of people will just blindly install stuff and not read the warnings. Better to unconditionally delete bad code.

          If there is a real use case for mail address resolvers that infer information from build records, then they should be written carefully to have reasonable performance. For example:

          • require the user to specify a sample job or jobs, rather than searching every job in the Jenkins installation
          • inspect only up to some maximum number of build records per job (with lazy loading this is especially critical)
          • cache information obtained from such searches, e.g. using the Database plugin, so you have only a one-time hit

          Jesse Glick added a comment - I have to agree with @kutzi that having published plugins known to cause abysmal performance problems is not a good idea. Lots of people will just blindly install stuff and not read the warnings. Better to unconditionally delete bad code. If there is a real use case for mail address resolvers that infer information from build records, then they should be written carefully to have reasonable performance. For example: require the user to specify a sample job or jobs, rather than searching every job in the Jenkins installation inspect only up to some maximum number of build records per job (with lazy loading this is especially critical) cache information obtained from such searches, e.g. using the Database plugin, so you have only a one-time hit

          Oliver Gondža added a comment - Well, lets try to delete it. https://github.com/jenkinsci/mailer-plugin/pull/6

          Jesse Glick added a comment -

          For the record, my proposal was to delete the known plugins implementing MailAddressResolver poorly, not to delete the extension point itself which is not inherently harmful.

          Jesse Glick added a comment - For the record, my proposal was to delete the known plugins implementing MailAddressResolver poorly, not to delete the extension point itself which is not inherently harmful.

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/tasks/MailAddressResolver.java
          http://jenkins-ci.org/commit/mailer-plugin/d97647e6bc5fffaafffe9621c8ffbd5d13877b2b
          Log:
          Merge pull request #5 from jenkinsci/wiki_link

          JENKINS-16437 Link to mail address resolution wiki page

          Compare: https://github.com/jenkinsci/mailer-plugin/compare/78a9e893e0b0...d97647e6bc5f

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/tasks/MailAddressResolver.java http://jenkins-ci.org/commit/mailer-plugin/d97647e6bc5fffaafffe9621c8ffbd5d13877b2b Log: Merge pull request #5 from jenkinsci/wiki_link JENKINS-16437 Link to mail address resolution wiki page Compare: https://github.com/jenkinsci/mailer-plugin/compare/78a9e893e0b0...d97647e6bc5f

          kutzi added a comment -

          Setting to fixed since this has been done for the CVS and the SVN plugin

          kutzi added a comment - Setting to fixed since this has been done for the CVS and the SVN plugin

            Unassigned Unassigned
            olivergondza Oliver Gondža
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: