Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Workspace z/OS
Categories z/OSMF
Created by Guest
Created on Jul 30, 2025

Concurrent REST requests for downloading PDS members results in several abended IZUFPROC jobs

Say that I have a sample application that makes multiple, concurrent requests to the z/OSMF REST API to download PDS members. It uses the endpoint for retrieving the contents of a data set member: https://www.ibm.com/docs/en/zos/2.4.0?topic=interface-retrieve-contents-zos-data-set-member

If I use this API to download all the PDS members from a set of partitioned data sets, for example:

["SYS1.PROCLIB",
 "SYS1.LINKLIB",
 "SYS1.CMDLIB",
 "SYS1.CSSLIB",
 "SYS1.DBBLIB",
 "SYS1.FONTLIB",
 "SYS1.HELP",
 "SYS1.MACLIB"]

Making an API request for each member in each data set results in several IZUFPROC jobs under my username. These jobs seem to be used for spawning TSO address spaces and satisfying these data set requests. Each job abends with code S222 once the address space is no longer in use. However, these jobs remain on the system after the requests are finished.

In an effort to alleviate this job pollution, we investigated using the header X-IBM-Obtain-ENQ, but this passes the responsibility to the client for holding/releasing data set enqueues. This presents its own risks as the API consumer could lose network connectivity after obtaining an exclusive enqueue, effectively locking that data set until the timer elapses. Still, the API consumer would need to locate and delete any jobs created by these requests. However, the client is not aware of what address spaces/jobs were used to satisfy each request, whereas the server already has access to that information.

The expected behavior is for the z/OSMF server to periodically delete/clean-up the abended jobs that were created for addressing previous data set requests.

---

Another bottleneck for this API endpoint: the amount of requests needed to download all requested members. As it currently stands, to download 10 data sets with 2,500 members in each data set, I would have to make 25,000 HTTP requests. Depending on the rate at which each request goes out and how many requests are needed to satisfy the download operation, this could be perceived as a denial of service attack.

The z/OSMF team could consider implementing a batch API that would process several download requests, allowing the client to fetch all the members of a given data set with one request. Or, they could enhance the current endpoint to allow passing a list of data sets, leveraging multipart streaming for the downloads. 

Idea priority High
  • Guest
    Aug 15, 2025

    For an easier approach to reproduce, try to download all members from 2 data sets at the same time using the z/OSMF REST API endpoint. The z/OSMF APIs are only able to reuse the address space if the requests are for a single data set at a time.