zowe / zowe/zowe-client-python-sdk

Hardcoded session timeout might fail large file uploading/downloading

Open
#392 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority-low severity-low
Dominant language
Python
Stars
44
Forks
38
Avg merge
1d 3h
Merged PRs (30d)
1

Description

Describe the bug

I was using USSFiles to upload a SMP/E package to USS. Every time, around 30 seconds after the uploading started, it failed with the following exception:

requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError('The write operation timed out'))

I didn't try Datasets but I guess it would probably fail with the same reason.

Expected and actual results

It should well support large file uploading/downloading. (...which usually takes some time to finish)

Describe your environment

  • Mac, Python 3.10.20
  • Zowe Python SDK v1.0.0dev26
  • z/OS 3.2 on ZVDT

Additional context

I went over the implementation. The root cause seems to be at the following place:

https://github.com/zowe/zowe-client-python-sdk/blob/75ff18266f501a18ddb527aa28c1572cd7a2e8be/src/core/zowe/core_for_zowe_sdk/sdk_api.py#L60-L63

I will soon create a PR to fix this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect src/core/zowe/core_for_zowe_sdk/sdk_api.py around lines 60-63, the location identified as the source of the timeout. Reproduce a large USSFiles upload or download and verify that the hardcoded timeout no longer aborts operations that take longer than about 30 seconds.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.