Skip to content
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

Cannot rename data objects and collections via the globus interface #66

Open
mstfdkmn opened this issue Jun 1, 2023 · 8 comments
Open
Assignees
Labels
bug Something isn't working consortium-member

Comments

@mstfdkmn
Copy link

mstfdkmn commented Jun 1, 2023

Bug Report

iRODS Version, OS and Version

4.3.0 almalinux8

What did you try to do?

Through the globus web interface,

  • I tried to rename an object in iRODS
  • I tried to rename a collection in iRODS

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.

image

image

image

@alanking alanking added bug Something isn't working consortium-member labels Jun 1, 2023
@JustinKyleJames JustinKyleJames self-assigned this Jun 6, 2023
@JustinKyleJames
Copy link

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.

@mstfdkmn
Copy link
Author

mstfdkmn commented Apr 4, 2024

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.

image

@JustinKyleJames
Copy link

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> 

@JustinKyleJames
Copy link

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.

@korydraughn
Copy link

If there's an error that indicates that, sounds appropriate to me.

alanking pushed a commit that referenced this issue Apr 26, 2024
Produced an error message for commands that are not implemented.
@mstfdkmn
Copy link
Author

mstfdkmn commented Jun 19, 2024

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"}}

@korydraughn
Copy link

Were those logs obtained using a build including commit 24a7ee0?

@mstfdkmn
Copy link
Author

mstfdkmn commented Jul 2, 2024

Yes. That is correct our build contains that commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working consortium-member
Development

No branches or pull requests

4 participants