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

Identify APIs that are only intended for use from the Master JVM

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • None

      Initially we need to start identifying APIs that should only be invoked from the master JVM.

      Downstream of this change we need to start enforcing a blacklisting of such APIs from being invoked on the agents... but that is a separate concern that requires changes in the remoting API and careful introduction.

      The first step is to allow Core and Plugins to mark those classes which should not be referenced from an Agent JVM with a suitable documented and retained annotation

          [JENKINS-38370] Identify APIs that are only intended for use from the Master JVM

          Jesse Glick added a comment -

          Duplicate of JENKINS-26677, right?

          Jesse Glick added a comment - Duplicate of JENKINS-26677 , right?

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          core/src/main/java/hudson/ExtensionList.java
          core/src/main/java/hudson/ExtensionPoint.java
          core/src/main/java/hudson/model/Descriptor.java
          core/src/main/java/hudson/model/Item.java
          core/src/main/java/hudson/model/Job.java
          core/src/main/java/jenkins/model/Jenkins.java
          core/src/main/java/jenkins/util/io/OnMaster.java
          http://jenkins-ci.org/commit/jenkins/37c473694e6d0ea210608c3aab86fc1daf6ec212
          Log:
          JENKINS-38370 Start defining APIs that are for the master JVM only (#2556)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: core/src/main/java/hudson/ExtensionList.java core/src/main/java/hudson/ExtensionPoint.java core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Item.java core/src/main/java/hudson/model/Job.java core/src/main/java/jenkins/model/Jenkins.java core/src/main/java/jenkins/util/io/OnMaster.java http://jenkins-ci.org/commit/jenkins/37c473694e6d0ea210608c3aab86fc1daf6ec212 Log: JENKINS-38370 Start defining APIs that are for the master JVM only (#2556)

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/hudson/ExtensionPoint.java
          http://jenkins-ci.org/commit/jenkins/66234bca2f27041db32489f11045b324be9a62a0
          Log:
          JENKINS-38370 - ExtensionPoints may be used on agents (#2605)

          We have to do it, because some extension points are being executed on slaves (e.g. https://github.com/jenkinsci/cygwin-process-killer-plugin/blob/master/src/main/java/com/synopsys/arc/jenkinsci/plugins/cygwinprocesskiller/CygwinProcessKiller.java - ProcessKiller EP gets propagated).

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/hudson/ExtensionPoint.java http://jenkins-ci.org/commit/jenkins/66234bca2f27041db32489f11045b324be9a62a0 Log: JENKINS-38370 - ExtensionPoints may be used on agents (#2605) We have to do it, because some extension points are being executed on slaves (e.g. https://github.com/jenkinsci/cygwin-process-killer-plugin/blob/master/src/main/java/com/synopsys/arc/jenkinsci/plugins/cygwinprocesskiller/CygwinProcessKiller.java - ProcessKiller EP gets propagated).

            stephenconnolly Stephen Connolly
            stephenconnolly Stephen Connolly
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: