Open mstfdkmn opened 1 year ago
Can you provide a log that shows what happens when this is attempted?
Also, is there a way to simulate this via command line utilities? I don't have access to the globus GUI interface.
Hi, apparently I didn't see this or somehow skipped it. Sorry for this!
Can you provide a log that shows what happens when this is attempted?
I don't see anything both in the logs of irods and in the logs globus. As if clients don't communicate with server yet.
Also, is there a way to simulate this via command line utilities? I don't have access to the globus GUI interface.
The CLI does behave exactly as the GUI. Please see my screenshot below that shows an existing object, the rename operation and the result.
I don't have that "globus" command and I don't think it is possible to do it via globus-url-copy. That said, I think I was able to reproduce this via ftp. I will take a look at implementing this.
# ftp localhost 2811
Connected to localhost.
220 dd677d87f346 GridFTP Server 16.2 (gcc64, 1701980266-86) [Globus Toolkit 1638371632] ready.
Name (localhost:root): user1
331 Password required for user1.
Password:
230 User user1 logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT Command successful.
150 Beginning transfer.
drwxr-xr-x 0 root root 0 Jan 1 00:00 .
drwxr-xr-x 0 root root 0 Jan 1 00:00 ..
-rwxr-xr-x 0 root root 4 Apr 10 15:43 abc.txt
drwxr-xr-x 0 root root 0 Apr 8 21:22 dir1
226 Transfer Complete.
ftp> rename abc.txt abc2.txt
350 OK. Send RNTO with destination name.
250 OK.
ftp> ls
200 PORT Command successful.
150 Beginning transfer.
drwxr-xr-x 0 root root 0 Jan 1 00:00 .
drwxr-xr-x 0 root root 0 Jan 1 00:00 ..
-rwxr-xr-x 0 root root 4 Apr 10 15:43 abc.txt
drwxr-xr-x 0 root root 0 Apr 8 21:22 dir1
226 Transfer Complete.
ftp>
Looking at the code, we need to support GLOBUS_GFS_CMD_RNTO in globus_l_gfs_iRODS_command
.
In addition, there is a switch statement and the default for it just returns. I think that should be updated to return some type of not supported error as well.
If there's an error that indicates that, sounds appropriate to me.
Can you provide a log that shows what happens when this is attempted?
Hi, now I can provide logs requested because I could capture relevant errors in the irods logs. Please keep in mind that I captured these errors in the irods server 4.3.2 and the globus connector is the one built on latest (main branch).
[2024-06-19T12:41:10.253Z][icts-t-cloud-hev-3] {"processname": "irods", "groupname": "irods", "pid": "96", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "error", "log_message": "[-]\t/irods_source/server/core/src/rsApiHandler.cpp:565:int readAndProcClientMsg(rsComm_t *, int) : status [SYS_HEADER_READ_LEN_ERR] errno [] -- message [failed to call 'read header']\n\t[-]\t/irods_source/lib/core/src/sockComm.cpp:229:irods::error readMsgHeader(irods::network_object_ptr, msgHeader_t *, struct timeval *) : status [SYS_HEADER_READ_LEN_ERR] errno [] -- message [failed to call 'read header']\n\t\t[-]\t/irods_source/plugins/network/src/tcp.cpp:190:irods::error tcp_read_msg_header(irods::plugin_context &, void *, struct timeval *) : status [SYS_HEADER_READ_LEN_ERR] errno [] -- message [only read [0] of [4]]\n\n", "request_api_name": "GEN_QUERY_AN", "request_api_number": 702, "request_api_version": "d", "request_client_user": "u0112360", "request_host": "127.0.0.1", "request_proxy_user": "globus", "request_release_version": "rods4.3.2", "server_host": "icts.irods.t.icts.kuleuven.be", "server_pid": 1290469, "server_timestamp": "2024-06-19T12:41:10.252Z", "server_type": "agent", "server_zone": "icts"}}
[2024-06-19T12:41:10.254Z][icts-t-cloud-hev-3] {"processname": "irods", "groupname": "irods", "pid": "96", "channel": "stdout", "irods": {"log_category": "agent", "log_level": "error", "log_message": "Agent [1290469] exiting with status = -4000", "request_api_name": "GEN_QUERY_AN", "request_api_number": 702, "request_api_version": "d", "request_client_user": "u0112360", "request_host": "127.0.0.1", "request_proxy_user": "globus", "request_release_version": "rods4.3.2", "server_host": "icts.irods.t.icts.kuleuven.be", "server_pid": 1290469, "server_timestamp": "2024-06-19T12:41:10.254Z", "server_type": "agent", "server_zone": "icts"}}
[2024-06-19T12:41:10.273Z][icts-t-cloud-hev-3] {"processname": "irods", "groupname": "irods", "pid": "96", "channel": "stdout", "irods": {"log_category": "agent_factory", "log_level": "error", "log_message": "Agent process [1290469] exited with status [1].", "server_host": "icts.irods.t.icts.kuleuven.be", "server_pid": 117, "server_timestamp": "2024-06-19T12:41:10.272Z", "server_type": "agent_factory", "server_zone": "icts"}}
Were those logs obtained using a build including commit 24a7ee0?
Yes. That is correct our build contains that commit.
Bug Report
iRODS Version, OS and Version
4.3.0 almalinux8
What did you try to do?
Through the globus web interface,
Expected behavior
Renamed data objects and collections in iRODS
Observed behavior (including steps to reproduce, if applicable)
Even though the globus interface shows objects are renamed, in fact they are not renamed and this can be verified when clicked
refreshed list
.