Github user paul-rogers commented on a diff in the pull request:
https://github.com/apache/drill/pull/1200#discussion_r179028625
--- Diff: distribution/src/resources/drillbit.sh ---
@@ -127,6 +127,44 @@ check_before_start()
fi
}
+check_after_start(){
+ #check if the process is running
+ if [ -f $pid ]; then
+ dbitProc=$(ps -ef | grep `cat $pid` | grep Drillbit)
+ if [ -n "$dbitProc" ]; then
+ # Check and enforce for CGroup
+ if [ -n "$DRILLBIT_CGROUP" ]; then
+ check_and_enforce_cgroup `cat $pid`
+ fi
+ fi
+ fi
+}
+
+check_and_enforce_cgroup(){
+ dbitPid=$1;
+ #if [ $(`ps -o cgroup` | grep -c $DRILLBIT_CGROUP ) -eq 1 ]; then
+ if [ -f /cgroup/cpu/${DRILLBIT_CGROUP}/cgroup.procs ]; then
+ echo $dbitPid > /cgroup/cpu/${DRILLBIT_CGROUP}/cgroup.procs
+ # Verify Enforcement
+ cgroupStatus=`grep -w $pid
/cgroup/cpu/${DRILLBIT_CGROUP}/cgroup.procs`
+ if [ -z "$cgroupStatus" ]; then
+ #Ref:
https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt
+ let cpu_quota=`cat /cgroup/cpu/${DRILLBIT_CGROUP}/cpu.cfs_quota_us`
--- End diff --
`let` is used only for math. Just say `cpu_quota=cat...`
---