IBM Support

How to enable/disable vacuum on the fly on an IBM PureData System for Analytics

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":{"code":"SSULQD","label":"IBM PureData System"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Database","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.0.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Product Synonym

pda netezza

Document Information

Modified date:
17 October 2019

UID

swg21959096