Troubleshooting
Problem
How to enable/disable vacuum on the fly on an IBM PureData System for Analytics
Symptom
"Disabling auto vacuum" and enabling vacuum on the fly.
Disabling auto vacuum is not recommended as it can cause severe performance impact.
You can prevent the vacuum process from automatically starting by making changes to /nz/kit/sys/startup.cfg.
As nz user edit /nz/kit/sys/startup.cfg and modify the following stanza:
program nzvacuumcat
{
path $NZ_SBIN_DIR
arguments "-D $NZ_DATA_DIR"
enable yes
restart this
waitSecs 2
}
Modify the enable yes line to read:
enable no
After modify that you have to recycle the NPS ( nzstop / nzstart ).
Cause
This has been identified as a product defect under APAR PI38301
Environment
Any IBM PureData System on any NPS 6/7 release
Resolving The Problem
Once auto vacuum is disabled on startup with the steps above you can enable / disable vacuuming on the fly as well as forcing the vacuum to occur with the following commands:
pkill -SIGHUP -f nzvacuumcat # toggle vacuuming enabled/disabled
pkill -SIGUSR1 -f nzvacuumcat # wake up and check now
pkill -SIGUSR2 -f nzvacuumcat # wake up and vacuum now
You see no difference in the "ps -ef" output because there is no difference to be seen.
We are not killing / restarting the job. Rather, we are simply sending a "signal" to the process ... to go do something. To go vacuum the catalogs.
When I issue this command on my box: pkill -SIGUSR2 -f nzvacuumcat
One can see (via the postgres/pg.log file) the following
USR2: vacuum now
2015-05-19 19:28:14.462993 UTC [1107] DEBUG: connection: host=127.0.0.1 user=ADMIN database=SYSTEM remotepid=1106 fetype=1
2015-05-19 19:28:14.463027 UTC [1107] DEBUG: Session id is 16300
2015-05-19 19:28:14.464856 UTC [1107] DEBUG: QUERY: SET timezone = 'UTC'
2015-05-19 19:28:14.465271 UTC [1107] DEBUG: QUERY: select version()
2015-05-19 19:28:14.472130 UTC [1107] DEBUG: QUERY: SET CLIENT_VERSION = 'Release 7.2.0.4-P3 [Build 44291]'
2015-05-19 19:28:14.472494 UTC [1107] DEBUG: QUERY: select current_catalog, current_schema, current_user
< and a million other lines of output follow ... since every database gets vacuumed)
Of course, the pg.log file contains info about all queries being run on the box ... so it may be hard to discern. But the notice is there.
The commands you can issue are as follows
pkill -SIGHUP -f nzvacuumcat
# toggle vacuuming enabled/disabled
# no feedback is provided with this command ...
# so you don't really know what its current state is ...
# and whether you just toggled it on (or off)
pkill -SIGUSR1 -f nzvacuumcat
# wake up and check now
pkill -SIGUSR2 -f nzvacuumcat
# wake up and vacuum now
# If you send this signal
# AND assuming vacuuming is enabled
# You should see lots of feedback via the pg.log
Product Synonym
pda netezza
Was this topic helpful?
Document Information
Modified date:
17 October 2019
UID
swg21959096