3.2.10 Operands related to lock
- 15) pd_lck_wait_timeout = lock-release-wait-time
- ~<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 statement 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.
- Operand default
- When this operand is omitted, the specification of the same operand in the system common definition is assumed. If the same operand is also omitted in the system common definition, the default is 180.
- Relationship to client environment definition
- PDLCKWAITTIME
The value of this operand can be modified for a client. To do so, specify PDLCKWAITTIME in the client environment definition. For details about PDLCKWAITTIME, see the HiRDB Version 9 UAP Development Guide.
- PDCWAITTIME
value-specified-for-PDCWAITTIME-of-the-client-environment-definition >
value-specified-for-the-pd_lck_wait_timeout-operand (if a value is set for each client, the value specified for PDLCKWAITTIME)
If you set each operand so that the above relationship is satisfied, you will be able to output timeout information if the wait status is not released even when the lock-release wait time elapses.
For details about PDCWAITTIME, see the HiRDB Version 9 UAP Development Guide. For details about timeout information, see the HiRDB Version 9 System Operation Guide.
- Relationship to other operands
- This operand is related to the following operands:
- pd_lck_deadlock_check
- pd_lck_deadlock_check_interval
- pd_lck_deadlock_info
- 16) pd_lck_deadlock_info = Y | N
- Specifies whether deadlock information, timeout information and locked resource management table information are to be output. These types of information are output to a directory named $PDDIR/spool/pdlckinf. For details about deadlock, timeout, and locked resource management table information, see the HiRDB Version 9 System Operation Guide.
- Y:
- Outputs deadlock information, timeout information, and locked resource management table information.
- N:
- Does not output deadlock information, timeout information, or locked resource management table information.
- Operand default
- When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is Y.
- Relationship to other operands
- When N is specified in the pd_lck_deadlock_check operand, this operand is assumed to be N.
- This operand is related to the pd_lck_deadlock_check operand.
- 17) pd_lck_deadlock_check = Y | N
- Specifies whether checking for deadlock is to be performed.
- Y: Checks for deadlocks.
- N: Does not check for deadlocks.
- Specification guidelines
- In transaction systems that do not generate deadlocks, specifying N in this operand can improve SQL execution performance. This is especially true when the interval check mode is used as the deadlock detection method, because lock performance can deteriorate whenever a deadlock is detected if the number of pool partitions for locks is increased. Consequently, we recommend that you specify N in this operand in the case of designing a transaction system that does not generate deadlocks.
- In a transaction system that does have potential to generate deadlocks, specify Y in this operand. Specifying N would mean that when a deadlock did occur, SQL would not terminate until the time specified in the pd_lck_timeout operand has elapsed. Also, because HiRDB does not output deadlock information, it might become impossible to determine what caused the deadlock.
- Operand default
- When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is Y.
- Notes
- When you specify N in this operand, a transaction that generates a deadlock will not result in an error. Instead, the transaction will be canceled on the basis of one of the following:
- The maximum time for checking lock release wait time elapses and the SQL statement returns an error.
- The maximum wait time of the HiRDB client elapses and the request returns an error to the UAP.
- Relationship to client environment definition
- This operand is related to the following client environment definitions:
- Relationship to other operands
- This operand is related to the following operands:
- pd_lck_deadlock_info
- pd_lck_pool_partition
- pd_fes_lck_pool_partition
- pd_lck_deadlock_check_interval
- pd_lck_wait_timeout
- 18) pd_lck_deadlock_check_interval = deadlock-check-interval
- ~<unsigned integer>((1-2000000000))(msec)
- Specifies the interval for performing checking during monitoring for occurrence of deadlocks in the interval check mode.
- Condition
- Conditions for this operand depend on the server.
- For a single server, back-end server, or dictionary server, both the following conditions must be satisfied:
- Y is specified in the pd_lck_deadlock_check operand
- 2 or greater is specified in the pd_lck_pool_partition operand
- For a front-end server, both the following conditions must be satisfied:
- Y is specified in the pd_lck_deadlock_check operand.
- 2 or greater is specified in the pd_fes_lck_pool_partition operand
- Specification guidelines
- Specify a small value in this operand to reduce the time between occurrence and detection of a deadlock.
- Operand default
- When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 1000.
- Notes
- If too small a value is specified in this operand, system performance might be degraded.
- If too large a value is specified in this operand, a transaction might be canceled for the following reasons:
The maximum time for checking the lock release wait time elapses and the SQL statement returns an error.
The maximum wait time of the HiRDB client elapses and the request returns an error to the UAP.
- Relationship to client environment definition
- This operand is related to the following client environment definition:
- Relationship to other operands
- This operand is related to the following operands:
- pd_lck_deadlock_check
- pd_lck_pool_partition
- pd_fes_lck_pool_partition
- pd_lck_wait_timeout