process_name.rb removed in 2.7.11 but still provided by puppet-common

Bug #995719 reported by Haw Loeung
60
This bug affects 11 people
Affects Status Importance Assigned to Milestone
puppet (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
High
Unassigned

Bug Description

[Impact]
This is related to https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/959597 where upstream has removed process_name.rb in 2.7.11 but it is still packaged and provided by puppet-common.

[ This plugin frequently causes puppet to hang and requires manual
sysadmin intervention to resolve. -- pjdc, 2012-05-10 ]

Source tarball for 2.7.10 from puppetlabs:

[hloeung@darkon puppet-2.7.10]$ find . -type f -name '*process_name*'
./spec/unit/util/instrumentation/listeners/process_name_spec.rb
./lib/puppet/util/instrumentation/listeners/process_name.rb
[hloeung@darkon puppet-2.7.10]$

Source tarball for 2.7.11 from puppetlabs:

[hloeung@darkon puppet-2.7.11]$ find . -type f -name '*process_name*'
[hloeung@darkon puppet-2.7.11]$

[hloeung@darkon puppet-2.7.10]$ dpkg-query -S /usr/lib/ruby/1.8/puppet/util/instrumentation/listeners/process_name.rb
puppet-common: /usr/lib/ruby/1.8/puppet/util/instrumentation/listeners/process_name.rb

[hloeung@darkon puppet-2.7.10]$ dpkg -l puppet-common
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==========================================-==========================================-====================================================================================================
ii puppet-common 2.7.11-1ubuntu2 Centralized configuration management

[Test Case]
Install puppet and puppet server from the Precise archives
Loop puppet apply against a manifest and note the timelines. The process takes considerably longer every 2-3 times every 10 puppet runs

[Regression]
Since this is a event listener and is only initialized if the listener exist there should be no regression as that functionality is limited within that particular listener code.

Revision history for this message
Paul Collins (pjdc) wrote :

Looks like debian/patches/debian-changes is adding the file back.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in puppet (Ubuntu):
status: New → Confirmed
Revision history for this message
Haw Loeung (hloeung) wrote :

Confirmed removed in Debian upstream - http://packages.debian.org/sid/all/puppet-common/filelist

Paul Collins (pjdc)
description: updated
Changed in puppet (Ubuntu):
importance: Undecided → High
Revision history for this message
Haw Loeung (hloeung) wrote :
Paul Collins (pjdc)
Changed in puppet (Ubuntu Precise):
status: New → Confirmed
importance: Undecided → High
Paul Collins (pjdc)
description: updated
Revision history for this message
Stig Sandbeck Mathisen (ssm) wrote :

The source of this problem is in the debian packaging repository for 2.7.11-1.

The /usr/lib/ruby/1.8/puppet/util/instrumentation/listeners/process_name.rb file is included in the debian/2.7.11-1 packaging when it shouldn't.

The difference in the puppet source between the upstream and the packaging branches reverts back to expected when 2.7.12 is imported, so the problem is isolated to 2.7.11, which unfortunately is in an LTS release.

It should be safe to remove this file from the 2.7.11 packaging for an eventual point release. All it does, if present, is to change the process name in the process table.

I've tested operation on a precise puppet node before and after removing the file. I have observed the process hanging before removing the file. It runs normally after removing it, and I have not observed hangs for the last 20 runs.

Revision history for this message
Adam Stokes (adam-stokes) wrote :

According to those posted bugs on puppetlabs they just removed the file with the intention of added it back in a future release. Since I dont see any other modifications that directly relate to this bug I'm going to package up a proposed fix and have you guys test.

Thanks for the report
Adam

Revision history for this message
Adam Stokes (adam-stokes) wrote :
Revision history for this message
Adam Stokes (adam-stokes) wrote :
description: updated
Revision history for this message
Robie Basak (racb) wrote :

Uploaded, thanks!

I checked the package in Saucy, and see no process_name.rb there. If I am right in understanding that this is fixed in Saucy, then, could you please mark it as Fix Released?

Revision history for this message
Haw Loeung (hloeung) wrote :

Robie,

Marked as Fix Released as requested.

What about for Precise? Are we going to backport the fix to Precise? In IS, we currently have puppet ensure that the file is absent / deleted.

Regards,

Haw

Changed in puppet (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Robie Basak (racb) wrote :

Haw,

Thanks. For Precise, I just reviewed, tested and uploaded Adam's debdiff. It's in queue now pending review from the SRU team.

Revision history for this message
Dave Walker (davewalker) wrote : Please test proposed package

Hello Haw, or anyone else affected,

Accepted puppet into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/puppet/2.7.11-1ubuntu2.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in puppet (Ubuntu Precise):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Haw Loeung (hloeung) wrote :

Hi Dave,

The package in precise-proposed looks good to me:

ubuntu@hloeung-test:~$ apt-cache policy puppet-common
puppet-common:
  Installed: 2.7.11-1ubuntu2.5
  Candidate: 2.7.11-1ubuntu2.5

ubuntu@hloeung-test:~$ ls -la /usr/lib/ruby/1.8/puppet/util/instrumentation/listeners
total 16
drwxr-xr-x 2 root root 4096 Oct 14 01:15 .
drwxr-xr-x 3 root root 4096 Oct 14 01:15 ..
-rw-r--r-- 1 root root 637 Oct 13 21:32 log.rb
-rw-r--r-- 1 root root 810 Oct 13 21:32 performance.rb
ubuntu@hloeung-test:~$

Thanks,

Haw

tags: added: verification-done
removed: verification-needed
Revision history for this message
Colin Watson (cjwatson) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package puppet - 2.7.11-1ubuntu2.5

---------------
puppet (2.7.11-1ubuntu2.5) precise-proposed; urgency=low

  * debian/patches/2.7.11-remove-process_name-performance.patch:
    Fixes performance regression caused by a thread that loops forever in
    order to change a process name when told so (LP: #995719)
 -- Adam Stokes <email address hidden> Tue, 24 Sep 2013 14:58:14 -0400

Changed in puppet (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.