Skip to content

Renaming a heavy collection fails #532

@mstfdkmn

Description

@mstfdkmn

Hi, when I wanted to rename (not move - copy/remove) a heavy collection (large in size and so many nested sub items), the PRC failed whereas I could rename this by imv.

Here is some information about the collection that I wanted to rename:

(venv) u0137480@CRD-L-07856:~$ iquest "select sum(DATA_SIZE) where COLL_NAME like '/kuleuven_tier1_pilot/home/datateam/testdata%'"
DATA_SIZE = 5344488114396
------------------------------------------------------------
(venv) u0137480@CRD-L-07856:~$ iquest "select count(DATA_ID) where COLL_NAME like '/kuleuven_tier1_pilot/home/datateam/t
estdata%'"
DATA_ID = 36602
------------------------------------------------------------
(venv) u0137480@CRD-L-07856:~$ iquest "select count(COLL_ID) where COLL_NAME like '/kuleuven_tier1_pilot/home/datateam/t
estdata%'"
COLL_ID = 2456
------------------------------------------------------------

Here is what I got as client:

my first attempt:

(venv) u0137480@CRD-L-07856:~$ python3 move.py
CRITICAL:irods.connection:The read operation timed out
ERROR:irods.connection:Could not receive server response
Traceback (most recent call last):
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/message/__init__.py", line 204, in _recv_message_in_len
    buf = sock.recv(size_left, socket.MSG_WAITALL)
  File "/usr/lib/python3.10/ssl.py", line 1256, in recv
    raise ValueError(
ValueError: non-zero flags not allowed in calls to recv() on <class 'ssl.SSLSocket'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 132, in recv
    msg = iRODSMessage.recv(self.socket)
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/message/__init__.py", line 294, in recv
    rsp_header_size = _recv_message_in_len(sock, 4)
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/message/__init__.py", line 206, in _recv_message_in_len
    buf = sock.recv(size_left)
  File "/usr/lib/python3.10/ssl.py", line 1259, in recv
    return self.read(buflen)
  File "/usr/lib/python3.10/ssl.py", line 1132, in read
    return self._sslobj.read(len)
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/u0137480/move.py", line 12, in <module>
    session.collections.move("/kuleuven_tier1_pilot/home/datateam/testdata_newname", "/kuleuven_tier1_pilot/home/datateam/testdata")
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/manager/collection_manager.py", line 130, in move
    response = conn.recv()
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 143, in recv
    raise NetworkException("Could not receive server response")
irods.exception.NetworkException: Could not receive server response
ERROR:irods.connection:Unable to send message. Connection to remote host may have closed. Releasing connection from pool.
Exception ignored in: <function Connection.__del__ at 0x7f9930b80280>
Traceback (most recent call last):
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 108, in __del__
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 321, in disconnect
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 124, in send
irods.exception.NetworkException: Unable to send message

my next attempts:

(venv) u0137480@CRD-L-07856:~$ python3 move.py
Traceback (most recent call last):
  File "/home/u0137480/move.py", line 12, in <module>
    session.collections.move("/kuleuven_tier1_pilot/home/datateam/testdata_newname", "/kuleuven_tier1_pilot/home/datateam/testdata")
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/manager/collection_manager.py", line 130, in move
    response = conn.recv()
  File "/home/u0137480/projects/developments/mango/venv/lib/python3.10/site-packages/irods/connection.py", line 151, in recv
    raise get_exception_by_code(msg.int_info, err_msg)
irods.exception.CAT_SQL_ERR: None

Here is the iRODS logs:

[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"SQL Error message: [unixODBC][Driver Manager]Function sequence error","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"SQLCODE: 0","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"SQLSTATE: S1010","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"_cllExecSqlNoResult: SQLExecDirect error: -1 sql:update R_COLL_MAIN set coll_name = substr(coll_name,1,?) || ? || substr(coll_name, ?) where substr(parent_coll_name,1,?) = ? or parent_coll_name  = ?","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[4]=53","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[2]=/testdata","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[5]=/kuleuven_tier1_pilot/home/datateam/testdata_newname/","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"database","log_level":"info","log_message":"chlRenameObject cmlExecuteNoAnswerSql update failure -806000","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[6]=/kuleuven_tier1_pilot/home/datateam/testdata_newname","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[3]=53","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.063Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"legacy","log_level":"info","log_message":"bindVar[1]=35","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.063Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}
[2024-04-11T15:16:59.064Z][icts-p-cloud-rdm-leu-2] irods stdout | {"log_category":"database","log_level":"info","log_message":"chlRenameObject cmlExecuteNoAnswerSql(rollback) succeeded","request_api_name":"DATA_OBJ_RENAME_AN","request_api_number":627,"request_api_version":"d","request_client_user":"vsc33586","request_host":"127.0.0.1","request_proxy_user":"vsc33586","request_release_version":"rods4.3.1","server_host":"irods.hpc.kuleuven.be","server_pid":10265,"server_timestamp":"2024-04-11T15:16:59.064Z","server_type":"agent","server_zone":"kuleuven_tier1_pilot"}

This is not a move (copy/remove from source to target) but a rename (change of name - change of records in data base). Like here https://github.com/irods/python-irodsclient/blob/main/irods/test/collection_test.py#L95

Is this something expected? If yes can we know thresholds? Does the size of a collection matters or the amount of sub items in it?

Btw, our irods catalog is Mysql. Thanks.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions