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

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions