[MAGIC SPECIALS] Flags (Magic xpi 4.5)

« Go Back


Created ByKnowledge Migration User
Approval Process StatusPublished

[MAGIC_SPECIALS] Flags (Magic xpi 4.5)

The Magic xpi configuration files (.ini files) have a number of special flags. Most of these are for Magic xpi's internal use. The flags that are relevant for the Magic xpi user are listed below. These flags are used to enhance system performance and to ensure that processes in the system are maintained properly.




Enter the number of milliseconds that the current process waits before attempting to resend an event to the queue. This is done if the queue is full when a prior attempt to send the event is made. The default is 10.

This also helps fine tune the system performance.


Type a number to indicate the maximum queue size for internal events. The default is 5000 (until version 4.5a, the default was 100). If the flag is set to 0, then the maximum length of the queue will be limited only by the size of the virtual memory.

Once the queue has reached its limit, the workers that try to send these messages will wait until it can be processed.

This flag determines the queue size of the activity thread per server. The activity threads handle various requests (both servers' internal requests and projects' applicative requests). Set a smaller queue limit to ensure that there are not too many activities waiting in the queue. However, in order to achieve the best performance, this flag’s value has to be considered together with other performance considerations, such as: increasing this flag will improve the servers’ performance, but will also increase the memory consumption.

It is recommended to use a value of 5000 if extensive logging is used in the production environment.

See also:

Performance Guidelines

Server Performance Considerations

Although I increased the number of workers for an existing deployment, the number of processed requests remains the same. Why is this?

Location: ifs.ini

Change effective: After project restart


During Magic xpi executable module creation, beep sounds can be heard, signaling that certain modules were generated. This flag and the SpecialBeepOnWarning flag determine whether to leave the sound or turn it off. Setting this flag to N will cancel the beep.


During Magic xpi executable module creation, beep sounds can be heard, signaling that certain modules were generated. This flag and the SpecialBeepOnRequest flag determine whether to leave the sound or turn it off. Setting this flag to N will cancel the beep.


When this flag is set to N (default), the destination XML and destination IFCModel are created without loading them to a DOM. This improves the performance of the XML creation in the Data Mapper.

However, when the XML Properties dialog box's Append Data check box is selected, the above destinations will always be loaded to a DOM.

To have the destinations always load to a DOM, you need to close the Magic xpi Studio, change the XMLDomMapper value to Y, open the Studio, and rebuild the project.


This flag determines the behavior when a thread terminates abnormally.

When the flag is set to N (default), the erroneous thread is closed and a message is written to the Magic xpi Monitor. An internal clean-up process is executed, the recovery policy defined on that thread is applied, and the Magic xpi Server continues to run.

When the flag is set to Y, a message is displayed when a thread crashes and the entire Magic xpi Server is terminated. This setting may be necessary for debugging purposes (for example, to generate a dump file). After the Magic xpi Server terminates, the recovery policy defined for each thread is applied.


  • You should not delete this flag from the Magic.ini file. If this flag does not appear in the Magic.ini file, the behavior will be the same as if ExceptionMessageBoxDisplay=Y, so in this case the entire Server will crash in the event of a thread crash.

  • When the flag is set to Y, the messages displayed when a crash occurs depend on the particular operating system that you use. On other platforms (such as IBM i and AIX), a message is written to a log (instead of to a message box) according to the ExternalLogFileName flag.


This flag maintains backward compatibility when comparing a variable that has a Null value to an empty value.

In Magic xpi 4.1 or earlier, comparing a variable with a Null value to a blank string or to zero, returned a False value and the rest of the expression was ignored. For example, the expression of ''F.Var1<>'' or 'True'Log '' (where F.Var1 has a Null value) returned a False value since the rest of the expression after the comparison was ignored.

From Magic xpi 4.5 onwards, the expression of ''F.Var1<>'' (where 'F.Var1 has a Null value) returns a True value.

Setting this flag to Y simulates the Magic xpi 4.1 behavior. This will be the default value for migrated projects in order to maintain backward compatibility.

Setting this flag to N performs the correct calculation as per Magic xpi 4.5.

Since version: 4.5