A fix is available
APAR status
Closed as program error.
Error description
Internal defect fix - RSEAPI 1.2.1
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: 1. All users * * 2. All users * * 3. All users * * 4. All users * * 5. All users * * 6. All users * * 7. All users * * 8. All users * * 9. All users * * 10. All users * * 11. All users * * 12. All users * * 13. All users * * 14. All users * * 15. All users * * 16. All users * * 17. All users * * 18. security admin * **************************************************************** * PROBLEM DESCRIPTION: 1. HEAD GET for fon existing PDS * * member content return 200 and no etag * * 2. For RSEAPI, with current * * implementation the cancel is done in * * chunk for all cancellable running * * requests, which each caller may not * * be clear or well aware of his/her * * request being cancelled, partial * * result may be misinterpreted; for * * ex: in search SEQ and PDSMembers path * * options * * 3. RSEAPI datasets/<pds_name>/ * * membersAttr throwing exception * * StringIndexOutOfBounds when the PDS * * has an empty member attribute * * 4. Rseapi mvs search * * datasets/search/PDSMembers commands * * would leave over a backend search * * handler thread after the search done. * * 5. For RSEAPI, with current * * implementation the cancel is done in * * chunk for all cancellable running * * requests, which each caller may not * * be clear or well aware of his/her * * request being cancelled, partial * * result may be misinterpreted; for ex: * * in pds member attributes query * * 6. For RSEAPI, with current * * implementation * * the cancel is done in chunk for all * * cancellable running requests, which * * each * * caller may not be clear or well aware * * of * * his/her request being cancelled, * * partial * * result may be misinterpreted; for ex: * * in * * content download. * * 7. Expiration date if existing has * * been display as Calendar Java object * * (lengthy and not really readable to * * user). * * 8. In previous RSEAPI release's * * implementation, dataset attributes * * listing could not be cancelled when * * needed such as for an unexpected long * * query. * * 9. RSEAPI server operation does not * * work with double bytes encoding * * locale, such Japanese, and should be * * default to LANG=C following RSED. * * In addition to that, default UTF-8 * * encoding and auto conversion in Java * * 21 may also have unexpected behavior * * in some cases, best to be avoided by * * default to LANG=C. * * 10. Currently RSEAPI returns * * attributes of all matched dataset up * * to 20K default limit. * * 11. RSEAPI change password does not * * work with overflow server * * 12. Currently RSEAPI returns all * * matched dataset up to 20K default * * limit. * * 13. Existing download and upload that * * includes checksum before dataset type * * validation would have these two * * issues: recall unexpectedly the input * * dataset if it is an archive, or * * hangs if it is offline. * * 14. Zowe requires "content-length" * * response header for progress * * monitoring activity with MVS raw * * download, which is not provided by * * RSEAPI at the moment. * * 15. Primary would normally see a * * dropping of requests as it is over * * the concurrency semaphore setting. * * 16. RSEAPI converts DSN pattern in * * SEQ and PDS search to upper case * * while pattern regex match is case * * sensitive. * * 17. RSEAPI currently started with * * file.encoding=Cp1047 which is not * * valid for chtag USS command in * * certain usage of RSEAPI caller such * * as Zowe. * * 18. HUHRACF has invalid option ALL * * for the LISTGRP command * **************************************************************** 1. HEAD on non existing member should return invalid input 2. Apparently, the common behavior of mvsminer is keeping the partial result in the response of a cancel request, which could be ok as the cancel is explicitly asked and known by user so they should know the result could be partial. Need to adjust mvsminer and RSEAPI to have clear cancel message with no partial result. RSED mvsminer still keep partial result behavior with cancelling. 3. Mvsminer backend expect the member attribute info result with at least line counts and choke when it is emptly. 4. Left over search thread is due to client RSEAPI missed to update the search handler that all data is received. 5. Apparently, the common behavior of mvsminer is keeping the partial result in the response of a cancel request, which could be ok as the cancel is explicitly asked and known by user so they should know the result could be partial. Need to adjust mvsminer and RSEAPI to have clear cancel message with no partial result. RSED mvsminer still keep partial result behavior with cancelling. 6. Apparently, the common behavior of mvsminer is keeping the partial result in the response of a cancel request, which could be ok as the cancel is explicitly asked and known by user so they should know the result could be partial. Need to adjust mvsminer and RSEAPI to have clear cancel message with no partial result. RSED mvsminer still keep partial result behavior with cancelling. 7. Expiration date now is displayed in the same format as creation and reference date. No expiration date is display as **None** 8. In this release, with the new implementation, cancellation can be introduced for dataset attributes listing query. 9. Customizing LANG=ja_JP (and possible some other locale) encoding in rseapi.env would fail the server startup and/or server functionality. 10. To provide the range option (index and number to return) to the existing dataset attributes listing command. 11. At overflow server, the newpassword is not retrieved properly to use with the change password option. 12. To provide the range option (index and number to return) to the existing dataset listing command. 13. Mvs miner checksum (and/or get bytes-on-host) is using zFile (reading), which could recall an archive automatically or hangs on an offline dataset. As get bytes-on-hosts now is always included in raw download, it would show this issue. 14. Use bytes-on-host to indicate number of bytes to read during download 15. Tomcat semaphore valve control the concurrency of all requests going through a server service entrance. For overflow scenario, such handling is not really relevant as all requests will have to through the primary but will be forwarding to secondary as needed. For that, primary would normally see a dropping of requests as it is over the concurrency semaphore setting. 16. Regex DSN pattern option does not work properly for PDS and SEQ search. 17. chtag's valid encoding is different from Java CharSet, listing is provided from iconv list command based on chtag man page. 18. HUHRACF has invalid option ALL for the LISTGRP command in the dataset security section
Problem conclusion
1. Due to technical limitation of library used in detecting a member existence, it does not work. This has been fixed recently, now RSEAPI can include PDS member existence detection in dataset download type validation to error out properly when the member does not exist. 2. RSEAPI now will throw an exception with clear cancel message and no partial result for search SEQ and PDSMembers commands. 3. Mvsminer now can handle an empty member attribute result. This fix does not cover the investigation for why at least the line counts does not return. 4. Rseapi client now flag its status as update is done so the search thread stops waiting and can exit. 5. RSEAPI now will throw an exception with clear cancel message and no partial result for pds member attributes query. 6. RSEAPI now will throw an exception with clear cancel message and no partial result. 7. Readable standard date format display should be and now is provided for expiration date of a dataset. 8. RSEAPI dataset attributes listing now can be cancelled with a proper error message and no partial result. 9. RSEAPI server should be started up with LANG=C. 10. Following the same behavior of PDS member attributes range support introduced in last release, users now can use start range name or index, and num to show to list dataset attributes with a filter in range. Range input and output in header, and server setting for num to show limit is the same as with PDS member attributes range support. 11. RSEAPI change password with a redirect request works fine now with the fix to retrieve correctly the newpassword from the redirect request. 12. Following the same behavior of PDS member attributes range support introduced in last release, users now can use start range name or index, and num to show to list dataset with a filter in range. Range input and output in header, and server setting for num to show limit is the same as with PDS member attributes range support. 13. Implement these to fix the issues: 1. Moving up the dataset type validation before the existin checksum/getBytesOnHost command. 2. Add offline dataset detection to the validation of dataset type. 14. MVS adapter checksum command now includes the bytes-on-host (long) in command's status to be used. Checksum command now is called always with and without etag required option to always be able to retrieve the file size. 15. All server in an overflow setup has its own resource threshold control as standard and used in its basic overflow redirecting requests. This mechanism could play the same role as the Tomcat valve semaphore in a non-overflow setup. The solution is to skip the Tomcat valve semaphore check with an overflow setup. 16. Use the DSN regex pattern as is (provided by user input). Note: MVS miner backend query result with name related, including DSN, member or attributes is usually in upper case. DSN pattern non-regex search is still automatically converted to upper case. User must provide the DSN-related letter in the pattern in upper case, and regex symbols in case sensitive are required by regex pattern match rules. 17. Use the corresponding valid encoding name with chtag IBM-1047, which is a valid alias for java corresponding CharSet. 18. ALL option is removed
Temporary fix
Comments
APAR Information
APAR number
PH65340
Reported component name
EXP FOR ZOS RSE
Reported component ID
5655EXP33
Reported release
120
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-02-19
Closed date
2025-03-05
Last modified date
2025-04-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UO02150
Modules/Macros
HUH1SMPE HUH2RCVE HUH3ALOC HUH4ZFS HUH5MKD HUH6DDEF HUH7APLY HUH8ACPT HUHCRYPT HUHFT000 HUHFT001 HUHFT002 HUHMKDIR HUHMOUNT HUHPAX01 HUHRACF HUHSETUP HUHSHPAX HUHSTC
Fix information
Fixed component name
EXP FOR ZOS RSE
Fixed component ID
5655EXP33
Applicable component levels
R120 PSY UO02150
UP25/04/02 P F503
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU011","label":"Systems - zSystems software"},"Product":{"code":"SG19M"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"120"}]
Document Information
Modified date:
02 April 2025