Hot SKU control parameters
Ensure to specify the Hot SKU control parameters to avoid performance degradation.
In the customer_overrides.properties
file,
specify the following Hot SKU control parameters.
Hot SKU Control Parameter | Description |
---|---|
yfs.yfs.hotsku.useHotSKUFeature | Control used to enable/disable the Hot SKU feature. By default, this parameter is set to |
yfs.yfs.hotsku.useTimeOutLocking | Set this property to "Y" to use locking timeout while trying to obtain a lock for an
inventory item when the Hot SKU feature is enabled. The timeout period is based on the yfs.hotsku.secondsToClassifyAsAbnormalTime property (round up to integer).
Example: yfs.hotsku.useTimeOutLocking = N |
yfs.yfs.hotsku.useAvailabilityAcrossNodes | This property controls whether the safety level
is checked across nodes or for a single node. By default, the value
of this property is set to N .
|
yfs.hotsku.useGranularLockingForItem | Values: Y, N Set the property to "Y" to enable granular locking for an inventory item. Optimistic Lock Avoidance (OLA) must be enabled to use the feature. It is recommended to setyfs.hotsku.assumeUnavailableOnLockTimeout = Y with this
feature. |
yfs.hotsku.useGranularLockingForItem.mode | Values: 00, 01 Default value is 00. Set the property to optimize the locking of an item for availability checks. In mode 00, availability is locked when availability is low or 0. In mode 01, there is no locking when availability is 0. |
yfs.yfs.hotsku.registerAvailabilityOnLockTimeout | If the value of this property is set to Y , and the SKU turns
hot for the first time, and if availability is not yet registered, then availability is registered
without lock. Based on the availability picture, the normal hot SKU logic determines whether lock is
needed.Note: Ensure that the
yfs.yfs.hotsku.useTimeOutLocking parameter is enabled
by setting the value to Y . |
yfs.yfs.hotsku.secondsToClassifyAsAbnormalTime | Threshold used to determine when a lock request is "abnormal". If a lock request exceeded this threshold, that lock request is counted as an "abnormal" lock request. Defaults to 0.5 seconds. |
yfs.yfs.hotsku.windowTimeInMinutes | Interval of one tracking window during which "abnormal" lock
requests are tracked. A subsequent window begins once the first window
ends. Default interval is 10 minutes. |
yfs.yfs.hotsku.numberOfAbnormalLocks ForSwitchToHotSKU |
Threshold used to determine when to promote an inventory item
to Hot SKU status. If the number of "abnormal" lock requests for an item exceeds this value within the tracking window, that item is promoted to Hot SKU status. see Three usage scenarios for recommended settings. |
yfs.yfs.hotsku.numRequestsInTrackingWindow ToKeepAsHotSku |
Minimum number of requests needed within the tracking window to keep the item in Hot SKU status. |
yfs.hotsku.granularLocking.purgeWindow | Set the property to a suitable value to purge lock records from INV_INVENTORY_ITEM_LOCK table after the defined retention days. Default value is 30. |
yfs.yfs.hotsku.showExtraMessagesAsInfo | Enables extra messages to be displayed at info logging level. Default value is "N". |
yfs.yfs.hotsku.itemMapPurgeLeadTime | This parameter is used when the number of Hot SKU items in the cache has reached its limit (specified by yfs.yfs.hotsku.maxItem MapSizeInMemory). When cache is full, eject Hot SKU if it has not been accessed in yfs.hotsku.itemMapPurgeLeadTime minutes. Default value is 10. |
yfs.hotsku.lockOnlyOnLowAvailability | This property determines whether locking should be avoided until availability gets low. By default, the property assumes that when availability is checked for the first time, all the items have high availability. If this property is set to Y, then, it is assumed that the availability is high and lock will be avoided. If the property is set to Y, then, the availability calculation will not lock the YFS_INVENTORY_ITEM if the INV_INVENTORY_ITEM_LOCK doesn’t exist for the demand type. |
yfs.hotsku.assumeUnavailableOnLockTimeout | This property determines whether an item should be assumed unavailable if in
case the lock cannot be acquired. This property is applicable only when
yfs.hotsku.lockOnlyOnLowAvailability is set to Y. If the yfs.hotsku.useTimeOutLocking property is set, it will be assumed that there is no inventory available for this item if a timeout occurs. Inventory will be assumed unavailable for this sourcing rule detail. If there are multiple sourcing rule details, then normal expansion will continue and lock will be attempted again. |
yfs.hotsku.lockItemOnInventoryChanges | This property determines whether an inventory item should be locked prior to making supply or demand updates. Default value is "N". |
For Internal Use Only | |
yfs.yfs.hotsku.qtyMultiplier | Defaults to 30. Do not modify without IBM® guidance. |
yfs.yfs.hotsku.highRequestQuantityMultiplier | Defaults to 2. Do not modify without IBM guidance. |
yfs.yfs.hotsku.maxItemMapSizeInMemory | Defaults to 1000. Do not modify without IBM guidance. Use the default value of 1000 if Optimistic Lock Avoidance (OLA) is not enabled. If OLA is enabled, reset the value to - distinct SKU * window time in minutes. The window time is 30 minutes based on the yfs.yfs.hotsku.windowTimeInMinutes property. |
yfs.yfs.hotsku.updateInventoryAfterAPIOutput |
Values: Y, N Default value is N Description: This property controls when inventory database updates happen during a transaction. Set this property to "Y" to commit the inventory updates to the database after the API output and at the end of the transaction. If this property is set to "N", then inventory updates are only committed to the database at the end of the transaction. By default this property is set to "N" and it is only applicable when yfs.hotsku.lockItemOnInventoryChanges is "N". |