Redirect the location of the SAS® Fraud Management SAS® On-demand Decision Engine HybridQueue files


The SAS Fraud Management System Administrator’s Guide contains the following information about hybrid queues:

“A hybrid queue that is part in-memory and part on disk is used to store transactions if the transaction data repository is down or responding slowly. When the transaction data repository is down, the scored transactions fill up the in-memory queue and then spill over to the disk after the in-memory queue is full. If the hybrid queue becomes full, then the message is recorded in the console log file as not processed.”

By default, when SAS OnDemand Decision Engine exhausts its in-memory HybridQueue allocation, SAS OnDemand Decision Engine starts writing transactions into the HybridQueue files alert-queue* in the /tmp directory. On some systems, this storage might contain limited storage availability. In such scenarios, with limited or otherwise questionable storage capacity, you can redirect the location of HybridQueue files to a different (ideally dedicated) file system. 

Redirect the HybridQueue Files to a Different File System

In the SAS OnDemand Decision Engine ose.xml file, under the bean class="com.sas.finance.fraud.engine.util.MemoryMapQueue", add the path for the property name='directory'.

In the example below, the new directory for HybridQueue files is /sashybridq. The HybridQueue files are named alert-queue*.  1,000 files will be defined with a size of one GB (30 bits) each, which require one TB of storage.

<constructor-arg>
                    <bean class="com.sas.finance.fraud.engine.util.MemoryMapQueue">

                        <property name="reserveStorage" value="#{'PROD'.equals('${MODE}')}" />

                        <!-- "java.io.tmpdir" value is used if empty -->
                        <property name="directory" value="/sashybridq" />

                        <!-- 1G files -->
                        <property name="fileBitLimit" value="30" />
                        <property name="fileLimit" value="1000" />
                        <property name="fileName" value="alert-queue" />

                    </bean>
                </constructor-arg>