Cleaning Up MFBSI Semaphores

MFBSI uses semaphores to communicate between the mfbsijcl stand-alone executable and Enterprise Server.

When Enterprise Server JCL is not running in a Performance and Availability Cluster (PAC), semaphore data are stored in a file on disk located under the $MFBSI_DIR directory. When running in PAC mode, the semaphore data are stored in the Redis database under the hash CasBSI.Sem.

By default, mfbsijcl deletes the semaphore file or records at termination. Nevertheless, an orphan file or orphan records might remain in the following circumstances:
  • mfbsijcl is running in debug mode (MFDEBUG)
  • Jobs submitted to Enterprise Server outside of mfbsijcl. For example, running the cassub command or API via the internal reader, submitted directly from CICS, IMS, or ESCWA.

You can and should delete these orphan semaphores on a regular basis by running the mfbsijcl executable with the /clean parameter using one of the following methods:

Notes:
  • Parameters are not case sensitive.
  • You can run the mfbsijcl executable with the /clean parameter when the region is in either started or stopped mode.

When Enterprise Server JCL is not running in PAC mode

Syntax
mfbsijcl /clean date=YYYYMMDD [test]
Parameters
YYYYMMDD
All semaphore files with this date or earlier are deleted.
test
Show (StdOut) the semaphore(s) being deleted and total number.

When Enterprise Server JCL is running in PAC mode

Important: Redis must be up and running.
Syntax
mfbsijcl /clean {date=YYYYMMDD|auto} [test]
Parameters
YYYYMMDD
Delete all semaphore records with this date or earlier.
auto
Automatically delete all semaphores related to the job that ended 10 minutes before the current time. This is the recommended usage.
test
Show (StdOut) the Redis semaphore record(s) being deleted and total number.