3.3.8 Operands related to lock

18) pd_lck_wait_timeout = lock-release-wait-time
[Figure]<unsigned integer>((0-65535)) (seconds)
Specifies in seconds the maximum amount of time to wait for lock release (the maximum amount of time in lock release wait status).This is the elapsed time from when a lock release request is placed in wait status until it is released.
If the wait status is not released within the specified amount of time, the SQL will return an error. When 0 is specified, lock wait time will not be monitored and waiting will continue until the wait status is released.
19) pd_lck_release_detect = interval | pipe
Specifies the method to be used by HiRDB to detect lock release (method of detecting whether or not the process that locked a resource has released that lock).
interval:
Determine the lock release status by checking the lock management area at a regular interval.
pipe:
Use a pipe file (process-to-process communication pipe) to receive the lock release notice.
Specification guidelines
Following are guidelines for specifying this operand:
Specified valueHiRDB processingAdvantages and application criteria
intervalDetermines whether the lock has been released by checking the lock management area in the shared memory.
HiRDB checks the lock management area at a regular interval; this interval is specified by the pd_lck_release_detect_interval operand.
Even if the process that has locked a resource releases the lock, the release will not be detected until the next time the lock management area is checked. Consequently, a UAP that has a fast processing time per transaction may end up waiting for a long time. However, this wait does not place any load on the CPU or open any file.
If a small value is specified for the pd_lck_release_detect_interval operand, the CPU usage may increase too much, adversely affecting the throughput. Specifying interval has the effect of reducing the CPU load when a slow CPU is being used.
pipeUses a semaphore to determine whether or not the lock has been released. The process that has locked a resource sends a lock release notice to the process that is waiting for release. When the process that has locked the resource releases it, the process that is waiting for the release can detect the release
  • Throughput improves if the processing time per transaction does not exceed the value specified by the pd_lck_release_detect_interval operand.
  • CPU workload increases if lock-release waits occur frequently.
  • If a high-speed CPU is used, this method improves throughput.
20) pd_lck_release_detect_interval = lock-release-detection-interval
[Figure]<unsigned integer>((1-1000)) (Milliseconds)
Specifies the interval at which the lock management area is to be checked.
  • When 49 or less is specified
    The interval will begin at the value specified by this operand and thereafter will be 50 milliseconds.
  • When 50 or more is specified
    The interval will begin at 50 milliseconds and thereafter will be the value specified by this operand.
Condition
The interval option must be specified for the pd_lck_release_detect operand.
Specification guidelines
  • As a rule, this operand can be omitted. This operand should be specified (instead of using the default value) only when there is a performance problem.
  • If too small a value is specified, the CPU workload will increase if lock release waits occur frequently.
  • If too large a value is specified, the wait time may increase.
  • The value to be specified can be determined by referring to WAIT TIME in the statistical information related to system operation from the statistics analysis utility. If the wait time that is output in the statistical information is smaller than the value of this operand, the value of this operand should be reduced.
21) pd_lck_deadlock_info = Y | N
Specifies whether or not deadlock information and timeout information are to be output. These types of information are output to a directory named %PDDIR%\spool\pdlckinf. For details about the deadlock and timeout information, see the HiRDB Version 8 System Operation Guide.
Y: Output deadlock information and timeout information.
N: Do not output deadlock information or timeout information.