[ 
https://issues.apache.org/jira/browse/CASSSIDECAR-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17955323#comment-17955323
 ] 

n.v.harikrishna commented on CASSSIDECAR-222:
---------------------------------------------

Sample URL for listing files: https://<host:port>/api/v1/live-migration/files

Sample response:
{noformat}
{
    "files": [
        {
            "fileUrl": 
"/api/v1/live-migration/files/data/0/system_schema/tables-afddfb9dbc1e30688056eed6c302ba09/nb-25-big-Filter.db",
            "size": 24,
            "fileType": "FILE",
            "lastModifiedTime": 1744296699193
        },
        {
            "fileUrl": 
"/api/v1/live-migration/files/data/0/system_schema/views-9786ac1cdd583201a7cdad556410c985",
            "size": -1,
            "fileType": "DIRECTORY",
            "lastModifiedTime": 1744012964644
        },
        {
            "fileUrl": 
"/api/v1/live-migration/files/data/0/system_schema/types-5a8b1ca866023f77a0459273d308917a",
            "size": -1,
            "fileType": "DIRECTORY",
            "lastModifiedTime": 1744012964611
        }
    ],
    "totalSize": 24
}
{noformat}
fileUrl in above payload is in the format:
{noformat}
/api/v1/live-migration/files/<directory_type>/<directory_index>/<relative path 
from the directory>{noformat}

fileUrl paths for different type of directories starts as follows:

 
{noformat}
data file dir: /api/v1/live-migration/files/data/0

index will increase if C* instance has more data directories For example: path 
prefix for second data file directory will look like this 
/api/v1/live-migration/files/data/1
commitlog dir: /api/v1/live-migration/files/commitlog/0
hints dir: /api/v1/live-migration/files/hints/0
saved caches dir: /api/v1/live-migration/files/saved_caches/0
cdc raw dir: /api/v1/live-migration/files/cdc_raw/0
local system data file dir: /api/v1/live-migration/files/local_system_data/0
Will raise a separate PR for supporting file transfers: 
/api/v1/live-migration/files/...
{noformat}
 

Admin can exclude files or directories from Live Migration. Excluded files will 
not be listed by this files list API. Exclusions can be specified in the 
sidecar yaml configuration using glob or regex patterns. Admin can also use 
placeholders for different type of directories to avoid specifying full 
directory paths.

Here are the different placeholders supported:
{noformat}
COMMITLOG_DIR - commit log directory
HINTS_DIR - hints directory
SAVED_CACHES_DIR - saved caches directory
CDC_RAW_DIR - cdc raw directory
LOCAL_SYSTEM_DATA_FILE_DIR - local system data file data directory
DATA_FILE_DIR - all data directories
DATA_FILE_DIR_0 - first data directory
DATA_FILE_DIR_1 - second data directory
{noformat}
Sample placeholder:
{noformat}
# Pattern to exclude snapshots directories in data folder: 
    glob:${DATA_FILE_DIR}/*/*/snapshots/
{noformat}
 

> Create API for listing Files of a Cassandra Instance
> ----------------------------------------------------
>
>                 Key: CASSSIDECAR-222
>                 URL: https://issues.apache.org/jira/browse/CASSSIDECAR-222
>             Project: Sidecar for Apache Cassandra
>          Issue Type: Task
>          Components: Rest API
>            Reporter: n.v.harikrishna
>            Assignee: n.v.harikrishna
>            Priority: Normal
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> As described in CEP-40, need to create an API for listing files of a 
> Cassandra instance during live migration.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to