StoRM Backend properties full reference
Service Parameters
Property Name |
Description |
storm.service.SURL.endpoint |
List of comma separated strings identifying the StoRM Frontend endpoint(s). This is used by StoRM to understand if a SURL is local. E.g. srm://storm.cnaf.infn.it:8444/srm/managerv2. If you want to accept SURL with the ip address instead of the FQDN hostname you have to add the proper endpoint (E.g. IPv4: srm://192.168.100.12:8444/srm/managerv2 or IPv6: srm://[2001:0db8::1428:57ab]:8444/srm/managerv2. Default value: srm://storm.service.FE-public.hostname :8444/srm/managerv2 |
storm.service.port |
SRM service port. Default: 8444 |
storm.service.SURL.default-ports |
List of comma separated valid SURL port numbers. Default: 8444 |
storm.service.FE-public.hostname |
StoRM Frontend hostname in case of a single Frontend StoRM deployment, StoRM Frontends DNS alias in case of a multiple Frontends StoRM deployment. |
storm.service.FE-list.hostnames |
Comma separated list os Frontend(s) hostname(s). Default: localhost |
storm.service.FE-list.IPs |
Comma separated list os Frontend(s) IP(s). E.g. 131.154.5.127, 131.154.5.128. Default: 127.0.0.1 |
pinLifetime.default |
Default PinLifetime in seconds used for pinning files in case of srmPrepareToPut or srmPrepareToGet operation without any pinLifetime specified. Default: 259200 |
pinLifetime.maximum |
Maximum PinLifetime allowed in seconds. Default: 1814400 |
fileLifetime.default |
Default FileLifetime in seconds used for VOLATILE file in case of SRM request without FileLifetime parameter specified. Default: 3600 |
extraslashes.gsiftp |
Add extra slashes after the “authority” part of a TURL for gsiftp protocol. |
extraslashes.rfio |
Add extra slashes after the “authority” part of a TURL for rfio protocol. |
extraslashes.root |
Add extra slashes after the “authority” part of a TURL for root protocol. |
extraslashes.file |
Add extra slashes after the “authority” part of a TURL for file protocol. |
synchcall.directoryManager.maxLsEntry |
Maximum number of entries returned by an srmLs call. Since in case of recursive srmLs results can be in order of million, this prevent a server overload. Default: 500 |
directory.automatic-creation |
Flag to enable automatic missing directory creation upon srmPrepareToPut requests. Default: false |
directory.writeperm |
Flag to enable directory write permission setting upon srmMkDir requests on created directories. Default: false |
default.overwrite |
Default file overwrite mode to use upon srmPrepareToPut requests. Default: A. Possible values are: N, A, D. Please note that N stands for Never, A stands for Always and D stands for When files differs. |
default.storagetype |
Default File Storage Type to be used for srmPrepareToPut requests in case is not provided in the request. Default: V. Possible values are: V, P, D. Please note that V stands for Volatile, P stands for Permanent and D stands for Durable. |
Garbage collector
The requests garbage collector process cleans database from the expired asynchronous SRM requests. The value of expired.request.time
defines how many seconds are necessary to a request, after its submission, to be considered expired. An appropriate tuning is needed in case of high throughput of SRM requests required for long time.
Property Name |
Description |
purging |
Enable the request garbage collector. Default: true. |
purge.interval |
Time interval in seconds between successive purging run. Default: 600. |
purge.size |
Number of requests picked up for cleaning from the requests garbage collector at each run. This value is use also by Tape Recall Garbage Collector. Default: 800 |
purge.delay |
Initial delay before starting the requests garbage collection process, in seconds. Default: 10 |
expired.request.time |
Time in seconds to consider a request expired after its submission. Default: 604800 seconds (1 week). From StoRM 1.11.13 it is used also to identify how much time is needed to consider a completed recall task as cleanable. |
expired.inprogress.time |
Time in seconds to consider an in-progress ptp request as expired. Default: 2592000 seconds (1 month) |
Expired PUT requests Garbage Collector
This agent:
- transits ongoing srmPtP to SRM_FILE_LIFETIME_EXPIRED if the request pin-lifetime is expired (see
pinLifetime.default
variable into Service Information section).
- transits to SRM_FAILURE the srmPtP that after
expired.inprogress.time
seconds are still in SRM_REQUEST_INPROGRESS.
The agent runs each transit.interval
seconds and updates all the expired requests.
Property Name |
Description |
transit.interval |
Time interval in seconds between successive agent run. Default: 3000. |
transit.delay |
Initial delay before starting the agent process, in seconds. Default: 60 |
Reserved Space Garbage Collector
Property Name |
Description |
gc.pinnedfiles.cleaning.delay |
Initial delay before starting the reserved space, JIT ACLs and pinned files garbage collection process, in seconds. Default: 10 |
gc.pinnedfiles.cleaning.interval |
Time interval in seconds between successive purging run. Default: 300 |
Synchronous call
Property Name |
Description |
synchcall.xmlrpc.unsecureServerPort |
Port to listen on for incoming XML-RPC connections from Frontends(s). Default: 8080 |
synchcall.xmlrpc.maxthread |
Number of threads managing XML-RPC connection from Frontends(s). A well sized value for this parameter have to be at least equal to the sum of the number of working threads in all FrontEend(s). Default: 100 |
synchcall.xmlrpc.max_queue_size |
Max number of accepted and queued XML-RPC connection from Frontends(s). Default: 1000 |
synchcall.xmlrpc.security.enabled |
Whether the backend will require a token to be present for accepting XML-RPC requests. Default: true |
synchcall.xmlrpc.security.token |
The token that the backend will require to be present for accepting XML-RPC requests. Mandatory if synchcall.xmlrpc.token.enabled is true |
REST interface parameters
Property Name |
Description |
storm.rest.services.port |
REST services port. Default: 9998 |
storm.rest.services.maxthreads |
REST services max active requests. Default: 100 |
storm.rest.services.max_queue_size |
REST services max queue size of accepted requests. Default: 1000 |
Database connection parameters
Property Name |
Description |
storm.service.request-db.host |
Host for StoRM database. Default: localhost |
storm.service.request-db.username |
Username for database connection. Default: storm |
storm.service.request-db.passwd |
Password for database connection |
storm.service.request-db.properties |
Database connection URL properties. Default: serverTimezone=UTC&autoReconnect=true |
asynch.db.ReconnectPeriod |
Database connection refresh time intervall in seconds. Default: 18000 |
asynch.db.DelayPeriod |
Database connection refresh initial delay in seconds. Default: 30 |
persistence.internal-db.connection-pool.maxActive |
Database connection pool max active connections. Default: 10 |
persistence.internal-db.connection-pool.maxWait |
Database connection pool max wait time to provide a connection. Default: 50 |
SRM Requests Picker
Property Name |
Description |
asynch.PickingInitialDelay |
Initial delay before starting to pick requests from the DB, in seconds. Default: 1 |
asynch.PickingTimeInterval |
Polling interval in seconds to pick up new SRM requests. Default: 2 |
asynch.PickingMaxBatchSize |
Maximum number of requests picked up at each polling time. Default: 100 |
Worker threads
Property Name |
Description |
scheduler.crusher.workerCorePoolSize |
Crusher Scheduler worker pool base size. Default: 10 |
scheduler.crusher.workerMaxPoolSize |
Crusher Schedule worker pool max size. Default: 50 |
scheduler.crusher.queueSize |
Request queue maximum size. Default: 2000 |
scheduler.chunksched.ptg.workerCorePoolSize |
PrepareToGet worker pool base size. Default: 50 |
scheduler.chunksched.ptg.workerMaxPoolSize |
PrepareToGet worker pool max size. Default: 200 |
scheduler.chunksched.ptg.queueSize |
PrepareToGet request queue maximum size. Default: 2000 |
scheduler.chunksched.ptp.workerCorePoolSize |
PrepareToPut worker pool base size. Default: 50 |
scheduler.chunksched.ptp.workerMaxPoolSize |
PrepareToPut worker pool max size. Default: 200 |
scheduler.chunksched.ptp.queueSize |
PrepareToPut request queue maximum size. Default: 1000 |
scheduler.chunksched.bol.workerCorePoolSize |
BringOnline worker pool base size. Default: 50 |
scheduler.chunksched.bol.workerMaxPoolSize |
BringOnline Worker pool max size. Default: 200 |
scheduler.chunksched.bol.queueSize |
BringOnline request queue maximum size. Default: 2000 |
scheduler.chunksched.copy.workerCorePoolSize |
Copy worker pool base size. Default: 10 |
scheduler.chunksched.copy.workerMaxPoolSize |
Copy worker pool max size. Default: 50 |
scheduler.chunksched.copy.queueSize |
Copy request queue maximum size. Default: 500 |
Protocol balancing
Property Name |
Description |
gridftp-pool.status-check.timeout |
Time in milliseconds after which the status of a GridFTP has to be verified. Default: 20000 (20 secs) |
Tape recall
Property Name |
Description |
tape.recalltable.service.param.retry-value |
Default: retry-value |
tape.recalltable.service.param.status |
Default: status |
tape.recalltable.service.param.takeover |
Default: first |
Disk Usage Service
The Disk Usage Service has been introduced within StoRM v1.11.18 and allows administrators to enable periodic du calls on the storage area root directory in order to compute the used space size.
By default the service is disabled. Set storm.service.du.enabled
in yoir storm.properties file to enable it.
Property Name |
Description |
storm.service.du.enabled |
Flag to enable disk usage service. Default: false |
storm.service.du.delay |
The initial delay before the service is started (seconds). Default: 60 |
storm.service.du.interval |
The interval in seconds between successive run. Default: 360. |
Example of output from internal log with an enabled du service with 0 delay and a week as interval:
04:26:50.920 - INFO [main] - Starting DiskUsage Service (delay: 0s, period: 604800s)
04:26:50.943 - INFO [main] - DiskUsage Service started.
...
04:26:50.961 - INFO [pool-6-thread-1] - DiskUsageTask for NESTED_TOKEN on /storage/nested started ...
04:26:51.364 - INFO [pool-6-thread-1] - DiskUsageTask for NESTED_TOKEN successfully ended in 0s with used-size = 4096 bytes
04:26:51.365 - INFO [pool-6-thread-1] - DiskUsageTask for IGI_TOKEN on /storage/igi started ...
04:26:51.455 - INFO [pool-6-thread-1] - DiskUsageTask for IGI_TOKEN successfully ended in 0s with used-size = 4096 bytes
04:26:51.458 - INFO [pool-6-thread-1] - DiskUsageTask for TAPE_TOKEN on /storage/tape started ...
04:26:51.624 - INFO [pool-6-thread-1] - DiskUsageTask for TAPE_TOKEN successfully ended in 0s with used-size = 8286 bytes
04:26:51.625 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVOBIS_TOKEN on /storage/test.vo.bis started ...
04:26:51.784 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVOBIS_TOKEN successfully ended in 0s with used-size = 4096 bytes
04:26:51.784 - INFO [pool-6-thread-1] - DiskUsageTask for NOAUTH_TOKEN on /storage/noauth started ...
04:26:51.857 - INFO [pool-6-thread-1] - DiskUsageTask for NOAUTH_TOKEN successfully ended in 0s with used-size = 4096 bytes
04:26:51.858 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVO2_TOKEN on /storage/test.vo.2 started ...
04:26:51.993 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVO2_TOKEN successfully ended in 0s with used-size = 4096 bytes
04:26:51.994 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVO_TOKEN on /storage/test.vo started ...
04:26:52.100 - INFO [pool-6-thread-1] - DiskUsageTask for TESTVO_TOKEN successfully ended in 0s with used-size = 4108 bytes