The Filesystem vs. ProcessMaker Maximum Number of Cases

Did you ever ask yourself how does ProcessMaker store Input and Output documents? The answer to this question is closely related to the maximum number of cases your BPMS server may handle. Keep reading to understand this connection, and how to configure your server for an unlimited number of cases.

So, how are Input and Output documents stored in ProcessMaker? Well, they are stored in the filesystem, along with associated database records. In fact, ProcessMaker creates directories for Input and Output documents related to each case on the following directories:

shared/sites/<workspace_name>/files/input/<Case-UID>

shared/sites/<workspace_name>/files/output/<Case-UID>

This means that all Input or Output documents, from all existing cases, and from all existing processes, will be stored under the very same directory. Now, most file systems have known limitations in terms of how many elements they can store, be it files or directories. Therefore, if your processes are using Input or Output documents, your ProcessMaker instance could be limited to a maximum number of cases, depending on the file system in use by your operating system.

Switching from ext3 to xfs on CentOS 5.6

Since ext3 is the most popular filesystem on Linux Distributions; and ProcessMaker is recommended to be deployed over Linux, its input/output directories management becomes limited due to the fact that ext3 is limited to 31,998 sub-directories per one directory, stemming from its limit of 32,000 links per inode.

On the contrary, xfs‘s  can handle an unlimited number of sub-directories. This is why we provide an easy 12 steps recipe to switch ext3 to xfs by adding a new storage device or reinstalling the Operating system (Example achieved on CentOS 5.6 Final).

The objective of this recipe is to mount /opt directory on an xfs partition.

STEP 0: Backup ProcessMaker

STEP 1: Install CENTOS using Linux Text Option

STEP 2: Use Custom Layout on the Partitioning Type

STEP 3: Create /, /boot, and swap partitions:

STEP 4: Leave some free space with no partition, to format it later using XFS filesystem (hda3), note that this space should be calculated for restoring the actual /opt/processmaker and bigger to support future transactions.

STEP 5: Finish installation and reboot.

STEP 6: Update system using yum.

yum update

STEP 7: Install the XFS support Packages

yum list available *xfs*

yum install kmod-xfs.i686 xfsdump.i386 xfsprogs.i386 dmapi

STEP 8: Create a new partition on the unused space

fdisk /dev/hda

STEP 9: Format the new partition with XFS

mkfs.xfs -f /dev/hda4

if that doesn’t work first format the new partition with ext2 using parted and then execute mkfs.xfs.


if necessary use -f to force

STEP 10: Edit /etc/fstab and add a line at the end similar to this one:

/dev/hda4    /opt   xfs  defaults 1 1

STEP 11: mount /opt

STEP 12: Install ProcessMaker or Restore Backup

Hope this will be helpful to you!!!!

About This Author

Customer & Partner Support Manager for Colosa Inc. and ProcessMaker.