Comments (13)
Yes, we'll put eyes on it.
from irods_client_globus_connector.
Yes. But what I dont understand is something else I guess: that is, I do still see the same errors for some transfers that I didn't initiate and I am guessing these are old transfers. If I know more, I will let you know.
from irods_client_globus_connector.
I don't know anything about Globus, but I'll add that the error message appearing in the log is coming from these lines:
https://github.com/irods/irods/blob/f6eb6c72786288878706e2562a370b91b7d0802e/server/api/src/rsDataObjOpen.cpp#L767-L783
Something happened when attempting to resolve a resource hierarchy for the given operation. It seems like the Globus connector may not be using the right open flags or something for certain situations. Probably warrants investigation.
from irods_client_globus_connector.
Hi @JustinKyleJames, would it be possible to prioritize this? Because we do a lot of transfers to irods via the connector and due to this hard to see a clean irods log - (any file transfer to irods throws that error). Thanks.
from irods_client_globus_connector.
I have no been able to reproduce this problem using globus-url-copy nor with ftp. However, I think I know the root of the problem.
When the plugin's globus_l_gfs_iRODS_recv
method gets called the open flag is first set to O_WRONLY. Then if the truncate option is set the flags for O_CREAT and O_TRUNC are set.
With the ways I know to test transfers, the truncate flag is always set so the O_CREAT flag is always set. I am guessing that when this error occurs the truncate flag is not set so O_CREAT does not get set. If the file does not exist we get an error.
I did verify that the error is generated if I update the code to not set the O_CREAT.
I think the solution is to set the open mode for the first thread to both O_CREAT and O_WRONLY. I may have to get @mstfdkmn to help test this.
from irods_client_globus_connector.
@mstfdkmn Are you open to testing the solution in PR #99 (in a testing environment)?
from irods_client_globus_connector.
Yes, we are thinking to test it soon (we don't have a test endpoint for the globus connector so might require time for possible challenges).
from irods_client_globus_connector.
No problem. Let us know how it goes.
from irods_client_globus_connector.
@mstfdkmn a fix has been merged. closing so we can get this into the next release.
if it's a problem still / again, please open a new issue and reference this one.
from irods_client_globus_connector.
Great! Thanks. We definitely let you know if needed.
from irods_client_globus_connector.
Seems this fix didnt resolve the issue. We built the connector from its source and integrated to our production end-points and I should say that we do still see errors mentioned above in our irods logs.
from irods_client_globus_connector.
Sorry was an early alarm! I tested against different zones' endpoints and I dont see any error anymore. My initial test transfer seem to have coincidentally resulted in at the same time with an ongoing transfer (I guess old processes are not refreshed/cleaned when the connector built version is changed) and I guess that is why I supposed that I saw again the same errors.
from irods_client_globus_connector.
So you're saying the change seems to have resolved the issue?
from irods_client_globus_connector.
Related Issues (20)
- Transfer of a file with an apostrophe in the file name fails with a HIERARCHY_ERROR error message HOT 14
- Computation of checksums can be improved HOT 8
- Back out of fix for #101 when GenQuery changes for apostrophe support merged.
- Status info on the globus interface for transfers to/from irods becomes completed quite later than actual complete HOT 12
- `pep_api_data_obj_close_post` invoked more than one HOT 11
- Update services.irods.deploy.resources.limits.cpus in docker-compose to be a string rather than an int. HOT 2
- Code to map collection to resources does not trim empty spaces following the resource name
- Update Globus testing framework to be able to test unreleased versions of iRODS HOT 2
- `set` metadata can be used?
- globus_connector doesn't contain the client name/identifier - spOption HOT 10
- Data upload/transfers from endpoints calls create/open/write/close HOT 20
- Variable name collection used for either collections or data objects.
- Create negative / error tests for the test suite.
- Create tests for the use of persistent identifiers.
- Create tests to test gridmap_iRODS_callout.conf functionality.
- Create tests to verify the number of upload/download threads based on configuration and file size.
- Add ability to select irods version/sha when running Globus tests.
- Create tests for other operating systems for the Globus container. HOT 4
- Add functionality to write test output to a file.
- Changes for cleaner tests HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from irods_client_globus_connector.