-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 More than 1 input port containing files can be safely pulled #6286
🐛 More than 1 input port containing files can be safely pulled #6286
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6286 +/- ##
=========================================
+ Coverage 84.5% 88.6% +4.0%
=========================================
Files 10 1028 +1018
Lines 214 45865 +45651
Branches 25 260 +235
=========================================
+ Hits 181 40667 +40486
- Misses 23 5140 +5117
- Partials 10 58 +48
Flags with carried forward coverage won't be shown. Click here to find out more.
|
packages/simcore-sdk/src/simcore_sdk/node_ports_common/data_items_utils.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try to use pytest mocker spy: https://pytest-mock.readthedocs.io/en/latest/usage.html#spy
This would allow to not have weird constants that are linked to other worldly defined fixtures..
packages/simcore-sdk/src/simcore_sdk/node_ports_common/data_items_utils.py
Show resolved
Hide resolved
packages/simcore-sdk/src/simcore_sdk/node_ports_common/data_items_utils.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
discussed. waiting for changes. thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thx.
Could you please add a small note to stress that we are not creating the folder but just generating a random path name?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the changes. just a few small things. thanks!
packages/simcore-sdk/tests/integration/test_node_ports_v2_nodeports2.py
Outdated
Show resolved
Hide resolved
Quality Gate passedIssues Measures |
What do these changes do?
This issue was simple to reproduce, but we never had a good report. This was a nightmare for so many people reporting missing files in their inputs.
If input ports contain more than one port with files, these would get downloaded two at a time.
What happened?
threading.get_ident()
would return a unique id for the given thread. Too bad that this ID can be reassigned. To avoid future issues uuid4 replaced it.It is now possible to pull 10 ports with each containing a 1GB file without any issue. It now works reliably every time.
Before this, almost always you would have issues when pulling 5 ports with a 1GB file in each port.
Related issue/s
How to test
Dev-ops checklist