diff --git a/Master-Server-API.md b/Master-Server-API.md index ccfb73b..f676942 100644 --- a/Master-Server-API.md +++ b/Master-Server-API.md @@ -18,6 +18,22 @@ curl "http://localhost:9333/dir/assign?count=5" curl "http://localhost:9333/dir/assign?dataCenter=dc1" ``` +| Parameter | Description | Default | +| ---- | -- | -- | +| count | how many file ids to reserve | 1 | +| collection | required collection name | empty | +| dataCenter | preferred data center | empty | +| rack | preferred rack | empty | +| dataNode | preferred volume server, e.g. 127.0.0.1:8080 | empty | +| replication | replica placement strategy | master defaultReplicaPlacement| +| ttl | file expiration time limit, example: 3m for 3 minutes. units: m-minute, h-hour, d-day, w-week, M-month, y-year | never expire| +| preallocate | If no matching volumes, pre-allocate this number of bytes on disk for new volumes. | master preallocateSize | +| memoryMapMaxSizeMb | Only implemented for windows. Use memory mapped files with specified size for new volumes. | 0 | +| writableVolumeCount | If no matching volumes, create specified number of new volumes. | master preallocateSize | + + + + ### Lookup volume We would need to find out whether the volumes have moved. @@ -39,6 +55,13 @@ curl "http://localhost:9333/dir/lookup?volumeId=3,01637037d6" curl "http://localhost:9333/dir/lookup?volumeId=3&collection=turbo" ``` +| Parameter | Description | Default | +| ---- | -- | -- | +| volumeId | volume id | empty | +| collection | optionally to speed up the lookup | empty | +| fileId | If provided, this returns the fileId location and a JWT to update or delete the file. | empty | +| read | works together with "fileId", if read=yes, JWT is generated for reads. | empty | + ### Force garbage collection If your system has many deletions, the deleted file's disk space will not be synchronously re-claimed. There is a background job to check volume disk usage. If empty space is more than the threshold, default to 0.3 which is 30%, the vacuum job will make the volume readonly, create a new volume with only existing files, and switch on the new volume. If you are impatient or doing some testing, vacuum the unused spaces this way. @@ -47,6 +70,9 @@ If your system has many deletions, the deleted file's disk space will not be syn curl "http://localhost:9333/vol/vacuum" curl "http://localhost:9333/vol/vacuum?garbageThreshold=0.4" ``` +| Parameter | Description | Default | +| ---- | -- | -- | +| garbageThreshold | minimum garbage ratio | 0.3, which is 30% | The garbageThreshold=0.4 is optional, and will not change the default threshold. You can start volume master with a different default garbageThreshold. @@ -68,7 +94,18 @@ curl "http://localhost:9333/vol/grow?dataCenter=dc1&count=4" curl "http://localhost:9333/vol/grow?ttl=5d&count=4" ``` -This generates 4 empty volumes. +| Parameter | Description | Default | +| ---- | -- | -- | +| count | how many volumes to grow | required | +| collection | required collection name | empty | +| dataCenter | preferred data center | empty | +| rack | preferred rack | empty | +| dataNode | preferred volume server, e.g. 127.0.0.1:8080 | empty | +| replication | replica placement strategy | master defaultReplicaPlacement| +| ttl | file expiration time limit, example: 3m for 3 minutes. units: m-minute, h-hour, d-day, w-week, M-month, y-year | never expire| +| preallocate | Pre-allocate this number of bytes on disk for new volumes. | master preallocateSize | +| memoryMapMaxSizeMb | Only implemented for windows. Use memory mapped files with specified size for new volumes. | 0 | + ### Delete Collection @@ -77,6 +114,11 @@ This generates 4 empty volumes. curl "http://localhost:9333/col/delete?collection=benchmark&pretty=y" ``` +| Parameter | Description | Default | +| ---- | -- | -- | +| collection | collection name | required | + + ### Check System Status ```bash