Skip to content

Commit de34855

Browse files
korydraughnalanking
authored andcommitted
[irods/irods#8312] Document access time enhancement.
1 parent a6c39f4 commit de34855

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

docs/system_overview/data_objects.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,53 @@ $ ils -l /tempZone/home/rods/foo
4545
rods 1 resc_1 284 2022-07-20.17:31 ? foo
4646
```
4747

48+
### Access Time
49+
50+
iRODS tracks access times for all replicas to help administrators and users better understand data access patterns. This feature is designed for performance and efficiency, using a background queue mechanism.
51+
52+
Each replica of a data object maintains its own independent access time.
53+
54+
---
55+
56+
#### When are access times updated?
57+
58+
- Access time updates are triggered when a replica is opened for reading
59+
- An update is queued only if:
60+
- The replica’s last access time is earlier than its modification time, or
61+
- The last access time is older than a configured threshold
62+
63+
Access time updates are processed in the background using a shared memory message queue. Queued updates do not persist across server restarts.
64+
65+
!!! Tip
66+
You can use [GenQuery](../system_overview/genquery.md) to retrieve replica access times and build custom reports or queries.
67+
68+
---
69+
70+
#### Configuration Options
71+
72+
Access time tracking is controlled by four zone-wide configuration options. These are stored in the catalog (`R_GRID_CONFIGURATION`) and can be modified using the [`iadmin`](../icommands/administrator.md#iadmin) tool.
73+
74+
!!! Warning
75+
All changes require a full server restart to take effect.
76+
77+
| Namespace | Option Name | Description | Default |
78+
|---|---|---|---|
79+
| access_time | queue_name_prefix | Prefix for the shared memory queue file name (not the directory). | irods_access_time_queue_ |
80+
| access_time | queue_size | Max number of entries the queue can hold. If the queue is full, new entries will be dropped.<br>**Maximum allowed:** 500000 | 20000 |
81+
| access_time | batch_size | Maximum number of updates processed in a single batch. | 20000 |
82+
| access_time | resolution_in_seconds | Minimum number of seconds between access time updates for a given replica (if its access time is already newer than its modification time). | 86400 _(24 hours)_ |
83+
84+
---
85+
86+
#### Notes for Administrators
87+
88+
- This feature is zone-wide and affects all replicas
89+
- Each replica's access time is tracked independently of other replicas of the same data object
90+
- Designed to be lightweight and efficient, with deferred updates
91+
- Enables better usage auditing and can inform data management policies
92+
93+
Tune the configuration values based on your system’s usage patterns and performance goals.
94+
4895
## Logical Locking
4996

5097
### Overview
@@ -407,4 +454,4 @@ The following are all of the columns representing the system metadata in the tab
407454
- `modify_ts`: Timestamp which indicates the most recent time that this replica was modified, represented as seconds since the epoch. This will be updated every time this replica is opened for write and modified.
408455
- `resc_hier`: This column is no longer used by iRODS. The value `EMPTY_RESC_HIER` is used to discourage legacy queries.
409456
- `resc_id`: Identifier unique to the storage resource which hosts this replica. The identifiers are defined in `R_RESC_MAIN` which contains all of the information about the resources in a given zone.
410-
457+
- `access_ts`: Timestamp which indicates the last time that this replica was accessed, represented as seconds since the epoch. See [Access Time](#access-time) for more information.

docs/system_overview/genquery.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ Here is the complete list of GenQuery attributes available for use anywhere an A
235235
- COLL_ZONE_NAME
236236
- DATA_ACCESS_DATA_ID
237237
- DATA_ACCESS_NAME
238+
- DATA_ACCESS_TIME
238239
- DATA_ACCESS_TYPE
239240
- DATA_ACCESS_USER_ID
240241
- DATA_CHECKSUM

0 commit comments

Comments
 (0)