Fileshare (Multi-User File Server & Transaction Logging)
When mainframe workloads are migrated to distributed Linux/UNIX or Windows systems, applications frequently rely on indexed (VSAM KSDS/ESDS/RRDS), relative, and sequential datasets. If multiple batch initiators, CICS regions, or remote client programs access these files across shared network file systems (such as NFS or SMB), operating system file-locking overhead, caching delays, and network bandwidth saturation can degrade performance and risk file corruption. [1]
Read the full briefing
1. Capability Overview
When mainframe workloads are migrated to distributed Linux/UNIX or Windows systems, applications frequently rely on indexed (VSAM KSDS/ESDS/RRDS), relative, and sequential datasets. If multiple batch initiators, CICS regions, or remote client programs access these files across shared network file systems (such as NFS or SMB), operating system file-locking overhead, caching delays, and network bandwidth saturation can degrade performance and risk file corruption.
Fileshare is Rocket Enterprise Server’s dedicated client/server database file engine for COBOL data files (Using the File Handling Redirector Module). Operating as a centralized background service, Fileshare manages multi-user concurrent record locking, reduces network traffic by filtering data at the server level, and provides ACID transaction processing with atomic COMMIT and ROLLBACK capabilities (Transaction Processing (FileShare) - Rocket Software Documentation).
2. Architecture & How It Works
- Client/Server Redirection via CCI (
FHREDIR): Applications communicate with the Fileshare daemon process (fs) using Rocket’s Common Communications Interface (CCI) and theccitcp2background registration daemon (Using CCITCP - Rocket Software Documentation).- At runtime, COBOL file operations (
READ,WRITE,REWRITE,DELETE) are redirected to the network client using the File Handling Redirector module (FHREDIR) (Using the File Handling Redirector Module). - Rather than transferring entire file segments across network mounts for local evaluation, the client sends record keys and receives only requested records, drastically curtailing bandwidth consumption.
- At runtime, COBOL file operations (
- Transaction Processing & Data Resiliency: Fileshare provides full transactional integrity. Programs declare logical unit of work boundaries using standard COBOL verbs:
- Executing
COMMITflushes dirty cache buffers to disk, logs completed transaction updates, and releases all record locks across files participating in the transaction (Transaction Processing (FileShare) - Rocket Software Documentation). - Executing
ROLLBACKreads transaction log records and reverts all uncommitted file modifications made by that process. - To guard against partial commits, attempting to issue a
CLOSEagainst a file that participates in an uncommitted transaction is blocked by the runtime engine (returning a9/100file status) (Transaction Processing (FileShare) - Rocket Software Documentation). - Advanced Recovery & Hot Backups: When advanced recovery logging is enabled, administrators can execute online Hot Backups to take a snapshot of live data files and cycle the log file without stopping the Fileshare server, as well as perform rollforward recovery to restore files up to the point of a disk failure (Best Practices for Backup and Recovery).
- Executing
- Synchronous Communication Optimization (
-sc): By default, the Fileshare daemon polls the host keyboard for administrative console inputs. In production environments where high transaction throughput is required, starting the server with the synchronous communications option (-scon UNIX or/scon Windows) disables console polling, improving file processing throughput by up to 10x (Synchronous Communications - Rocket Software Documentation).
3. Practical Configuration & Operational Tidbits
- Configuring the Server via
fs.cfg: Instead of specifying startup options manually on the command line, administrators can encapsulate runtime parameters in a configuration file namedfs.cfg(or referenced with-cf <path>) (Using a Fileshare Configuration File - Rocket Software Documentation). Standard options include-s <server-name>(registers the server logical identifier with CCI),-l <logfile>(enables transaction logging), and-pf <password-file>(enables vault-secured authentication) (Fileshare Options - Rocket Software Documentation). - Configuring Enterprise Server as a Client in ESCWA:
- CICS Regions: In ESCWA under
Operation > Directory Server > [Region] > CICS > SIT, specify the Fileshare server name alongside theFS user nameandFS passwordcredentials (Setting Up an MSS-enabled Enterprise Server as a Fileshare Client). - JES Batch Datasets: In
JES > Configuration, enter the Fileshare server identifier into the Default Allocated Dataset Location field to automatically route newly allocated batch datasets to the Fileshare server without per-dataset JCL overrides (Accessing All Datasets via Fileshare - Rocket Software Documentation).
- CICS Regions: In ESCWA under
- Monitoring via the
FSVIEWUtility: Because production Fileshare instances configured with-sccannot be inspected via local keyboard inputs, administrators monitor active client connections, open file handles, active transactions, and held record locks remotely using the FSView utility or CCI administrative commands (Synchronous Communications - Rocket Software Documentation).
4. Reference Citations (Rocket Enterprise Server 12.0 Manuals)
- Setting Up an MSS-enabled Enterprise Server as a Fileshare Client — Enterprise Server 12.0 for UNIX
- Fileshare Client Configuration - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Fileshare Options - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Using a Fileshare Configuration File - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Synchronous Communications - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Transaction Processing (FileShare) - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Best Practices for Backup and Recovery — Enterprise Server 12.0 for UNIX
- Using CCITCP - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- Using the File Handling Redirector Module — Enterprise Server 12.0 for UNIX
- Accessing All Datasets via Fileshare - Rocket Software Documentation — Enterprise Server 12.0 for UNIX