What is @NX_SLUMP_HASH variable used for?
search cancel

What is @NX_SLUMP_HASH variable used for?

book

Article ID: 27849

calendar_today

Updated On:

Products

CA Service Management - Service Desk Manager CA Service Desk Manager

Issue/Introduction

What is @NX_SLUMP_HASH variable used for in the Service Desk Manager (SDM) NX.env?

Environment

Service Desk Manager 17.x

All Supported Operating Systems

Resolution

When a message is sent via SLUMP, it usually contains a pointer to a function inside the sending process that is supposed to be called when the message is returned. These pointers are stored in a hash table, hence the variable name.

Hash tables are efficient and fast, but only if the approximate size of the hash space is known. A hash table distributes stored data into "buckets". If the number of buckets is too small, retrieval is slow because the system must search too many items in the bucket. If the number is too high, memory is wasted and retrieval can also be slow because pieces of the hash table will be paged out.

To understand what the above means in practical terms, consider the following message as noted in a Service Desk STDLOG which, although noted for the 'JavaClient' process but could equally be shown for any other process within Service Desk that uses SLUMP to send a message (i.e  domsrvr, web enginge and spelsrvr):

servername   JavaClient         3608 SIGNIFICANT  callback.c     418 8193 objects registered; exceeds 100% of slump object hash size of 8192

The message is shown as an aid in tuning the hash table sizes, which has to be done empirically since it is all a matter of probabilities and we cannot know how large the hashes will grow in practice.

If a message of the above sort is noted in the STDLOG, with a value greater than 500%, this would seem that the hash table size needs to be increased for the process noted by amending the relevant value in the @NX_SLUMP_HASH NX.ENV variable.

Additional Information