← Back to team overview

python-jenkins-developers team mailing list archive

[Bug 1826803] [NEW] get_running_builds very slow to return results

 

Public bug reported:

In our site, I have found get_running_builds to be very slow.

I have found that it's because depth=2 is used when calling
get_node_info, and it seems to be fixed by the following patch:

    diff --git a/jenkins/__init__.py b/jenkins/__init__.py
    index b443756..20cc17c 100755
    --- a/jenkins/__init__.py
    +++ b/jenkins/__init__.py
    @@ -1411,7 +1411,7 @@ class Jenkins(object):
                 else:
                     node_name = node['name']
                 try:
    -                info = self.get_node_info(node_name, depth=2)
    +                info = self.get_node_info(node_name, depth=1)
                 except JenkinsException as e:
                     # Jenkins may 500 on depth >0. If the node info comes back                                                            
                     # at depth 0 treat it as a node not running any jobs.                                                                 

After we change the depth to 1, I can still get the list of running
builds, so depth=2 seems to be a waste. But I may be missing something
here, is there a reason why we must use depth=2 instead of depth=1?

** Affects: python-jenkins
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Python
Jenkins Developers, which is subscribed to Python Jenkins.
https://bugs.launchpad.net/bugs/1826803

Title:
  get_running_builds very slow to return results

Status in Python Jenkins:
  New

Bug description:
  In our site, I have found get_running_builds to be very slow.

  I have found that it's because depth=2 is used when calling
  get_node_info, and it seems to be fixed by the following patch:

      diff --git a/jenkins/__init__.py b/jenkins/__init__.py
      index b443756..20cc17c 100755
      --- a/jenkins/__init__.py
      +++ b/jenkins/__init__.py
      @@ -1411,7 +1411,7 @@ class Jenkins(object):
                   else:
                       node_name = node['name']
                   try:
      -                info = self.get_node_info(node_name, depth=2)
      +                info = self.get_node_info(node_name, depth=1)
                   except JenkinsException as e:
                       # Jenkins may 500 on depth >0. If the node info comes back                                                            
                       # at depth 0 treat it as a node not running any jobs.                                                                 

  After we change the depth to 1, I can still get the list of running
  builds, so depth=2 seems to be a waste. But I may be missing something
  here, is there a reason why we must use depth=2 instead of depth=1?

To manage notifications about this bug go to:
https://bugs.launchpad.net/python-jenkins/+bug/1826803/+subscriptions


Follow ups