Bug 1353700

Summary: Worker nice_delta is not set in 5.6.0.13
Product: Red Hat CloudForms Management Engine Reporter: Alex Krzos <akrzos>
Component: PerformanceAssignee: Joe Rafaniello <jrafanie>
Status: CLOSED CURRENTRELEASE QA Contact: Pradeep Kumar Surisetty <psuriset>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.6.0CC: abellott, arcsharm, cpelland, dajohnso, jhardy, jrafanie, obarenbo, psuriset, simaishi
Target Milestone: GAKeywords: TestOnly, ZStream
Target Release: 5.7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: perf
Fixed In Version: 5.7.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1360364 (view as bug list) Environment:
Last Closed: 2016-12-10 02:09:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1360364    

Description Alex Krzos 2016-07-07 18:40:53 UTC
Description of problem:
Every worker has a nice setting of 0 on 5.6.0.13

Version-Release number of selected component (if applicable):
5.6.0.13
Unclear if all 5.6 builds are affected but the transition from spawn to forked workers is probably the source of the lost nice setting.

How reproducible:
always

Steps to Reproduce:
1.Run: ps -afxo pid,ni,command | grep -i "[Mm]iq"
2. Look at the NI value for each worker
3.

Actual results:
0 - for all workers

Expected results:
For each worker to match it's nice setting in the advanced config file.

Additional info:

Example (5.6 vs 5.5):
[root@CF-R0000-DB-Workload-56013-1 ~]# ps -afxo pid,ni,command | grep -i "[Mm]iq"
50109   0 MIQ Server
50486   0  \_ MIQ: MiqEventHandler id: 1, queue: ems
50491   0  \_ MIQ: MiqGenericWorker id: 2, queue: generic
50501   0  \_ MIQ: MiqPriorityWorker id: 4, queue: generic
50506   0  \_ MIQ: MiqPriorityWorker id: 5, queue: generic
50521   0  \_ MIQ: MiqReportingWorker id: 6, queue: reporting
50528   0  \_ MIQ: MiqReportingWorker id: 7, queue: reporting
50537   0  \_ MIQ: MiqScheduleWorker id: 8
50562   0  \_ puma 3.3.0 (tcp://127.0.0.1:3000) [MIQ: Web Server Worker]
50573   0  \_ puma 3.3.0 (tcp://127.0.0.1:4000) [MIQ: Web Server Worker]
51083   0  \_ MIQ: MiqEmsRefreshCoreWorker id: 12, queue: ems_1
51106   0  \_ MIQ: Vmware::InfraManager::EventCatcher id: 14, queue: ems_1
51131   0  \_ MIQ: MiqVimBrokerWorker id: 15
53253   0  \_ MIQ: MiqEmsMetricsProcessorWorker id: 18, queue: ems_metrics_processor
53258   0  \_ MIQ: MiqEmsMetricsProcessorWorker id: 19, queue: ems_metrics_processor
30061   0  \_ MIQ: Vmware::InfraManager::MetricsCollectorWorker id: 28, queue: vmware
34941   0  \_ MIQ: Vmware::InfraManager::MetricsCollectorWorker id: 30, queue: vmware
47480   0  \_ MIQ: MiqGenericWorker id: 31, queue: generic
51488   0  \_ MIQ: Vmware::InfraManager::RefreshWorker id: 32, queue: ems_1

[root@CF-R0000-DB-Workload-5550-1 ~]# ps -afxo pid,ni,command | grep -i "[Mm]iq"
38264   0 /var/www/miq/vmdb/lib/workers/bin/evm_server.rb
38660   7  \_ MiqEventHandler id: 1, queue: ems
38689   7  \_ MiqReportingWorker id: 6, queue: reporting
38692   7  \_ MiqReportingWorker id: 7, queue: reporting
38695   3  \_ MiqScheduleWorker id: 8
38698   1  \_ MiqUiWorker id: 9, uri: http://127.0.0.1:3000
38720   1  \_ MiqWebServiceWorker id: 10, uri: http://127.0.0.1:4000
39277   1  \_ MiqEmsRefreshCoreWorker id: 11, queue: ems_1
39286   3  \_ MiqVimBrokerWorker id: 14
41578   7  \_ MiqEmsMetricsProcessorWorker id: 17, queue: ems_metrics_processor
41588   7  \_ MiqEmsMetricsProcessorWorker id: 18, queue: ems_metrics_processor
 4597   1  \_ MiqPriorityWorker id: 65, queue: generic
15499   1  \_ MiqPriorityWorker id: 66, queue: generic
34342  10  \_ MiqGenericWorker id: 71, queue: generic
18160  10  \_ MiqGenericWorker id: 73, queue: generic

Comment 3 CFME Bot 2016-07-26 13:00:45 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/65528c9cfe6e5d3aa89a5ec443229ad88c5b3ec2

commit 65528c9cfe6e5d3aa89a5ec443229ad88c5b3ec2
Author:     Joe Rafaniello <jrafanie>
AuthorDate: Mon Jul 25 13:41:38 2016 -0400
Commit:     Joe Rafaniello <jrafanie>
CommitDate: Mon Jul 25 14:11:00 2016 -0400

    Renice workers after they fork
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1353700
    
    Before we changed from spawn to fork [1],
    we'd spawn the process with a nice prefix [2],
    which gave the kernel some hints for CPU scheduling
    of our processes.  A higher "nice" value for a process
    is nicer to other processes.
    
    This niceness wasn't brought over from spawn to fork.
    
    [1] https://github.com/ManageIQ/manageiq/pull/3593
    [2] b0caa423cd928f09e3287bb5141803b3360b5f89

 app/models/miq_worker.rb       | 5 +++--
 spec/models/miq_worker_spec.rb | 7 +++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

Comment 5 Archit Sharma 2016-11-17 02:24:11 UTC
[root@MIQ-BZ-test-R0000-DB-5700 ~]# ps -afxo pid,ni,command | grep -i "[Mm]iq"
 4452   0 MIQ Server
 6168   7  \_ MIQ: MiqEventHandler id: 1, queue: ems
 6177  10  \_ MIQ: MiqGenericWorker id: 2, queue: generic
 6185  10  \_ MIQ: MiqGenericWorker id: 3, queue: generic
 6195   1  \_ MIQ: MiqPriorityWorker id: 4, queue: generic
 6203   1  \_ MIQ: MiqPriorityWorker id: 5, queue: generic
 6213   7  \_ MIQ: MiqReportingWorker id: 6, queue: reporting
 6221   7  \_ MIQ: MiqReportingWorker id: 7, queue: reporting
 6231   3  \_ MIQ: MiqScheduleWorker id: 8
 6241   1  \_ puma 3.3.0 (tcp://127.0.0.1:5000) [MIQ: Web Server Worker]
 6281   1  \_ puma 3.3.0 (tcp://127.0.0.1:3000) [MIQ: Web Server Worker]
 6312   1  \_ puma 3.3.0 (tcp://127.0.0.1:4000) [MIQ: Web Server Worker]