-
Notifications
You must be signed in to change notification settings - Fork 131
/
pinmanager.properties
185 lines (154 loc) · 6.76 KB
/
pinmanager.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# -----------------------------------------------------------------------
# Default values for pinmanager
# -----------------------------------------------------------------------
@DEFAULTS_HEADER@
# ---- Name of the service
#
# This is the logical name of the service. The service name is usually
# the name other services use to reach this service.
#
pinmanager.cell.service = ${dcache.queue.pinmanager}
# ---- Cell name of pin manager service
#
pinmanager.cell.name = ${dcache.queue.pinmanager}
# ----- Whether the service is replicable
#
# Any service in dCache can have several instances as long as these
# represent separate logical services. Some services can have several
# instances representing the same logical service, providing some
# degree of fault tolerance and load balancing. Such services are said
# to be replicable.
#
# Instances of a logical service share the same service name, and it is
# important that the configuration for such instances is synchronized.
#
# This property indicates if this service is replicable.
#
# Note: it is the administrator's responsibility to ensure that all
# pinmanager service instances:
#
# o have consistent dCache 'pinmanager.' configuration,
#
# o share the same database.
#
(immutable)pinmanager.cell.replicable = true
# ---- Named queues to consume from
#
# A service can consume messages from named queues. Other services can
# write messages to such queues. A named queue has an unqualified cell
# address, that is, an address without a domain name.
#
# This property contains a comma separated list of named queues to
# consume from.
#
pinmanager.cell.consume = ${pinmanager.cell.service}
pinmanager.cell.subscribe=${pinmanager.pool-monitor.topic}
# ---- Cell message processing parameters
#
# Settings for the request processing thread pool.
#
# The thread pool will stay at the minimum number of threads until the
# maximum request queue length has been reached. At that point the number
# of threads is increased up to the maximum, after which further requests
# will be dropped. Idle threads are terminated after the idle time until
# the number of threads drops back to the minimum.
#
# Except for database operations, the pin manager operates in an
# asynchronous fashion. The minimum number of threads should be chosen
# such that the database can be saturated under load. If network latency
# between the pin manager and the database is high, then the minimum
# number of threads could be increased to hide this latency. The default
# setting is likely fine for most cases.
#
# The maximum number of threads should be below the database connection
# limit - otherwise threads end up blocking for idle connections and may
# potentially deadlock in case the same thread needs more than one
# connection (e.g. for nested transactions).
(obsolete)pinmanager.cell.threads.min=
(obsolete)pinmanager.cell.threads.max-idle-time=
(obsolete)pinmanager.cell.threads.max-idle-time.unit=
(obsolete)pinmanager.cell.threads.max = See pinmanager.cell.max-message-threads
(obsolete)pinmanager.cell.queue.max = See pinmanager.cell.max-messages-queued
pinmanager.cell.max-message-threads = 45
pinmanager.cell.max-messages-queued = 10000
# Cell address of poolmanager service
pinmanager.service.poolmanager=${dcache.service.poolmanager}
# Timeout for pool manager requests
pinmanager.service.poolmanager.timeout=3600
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.service.poolmanager.timeout.unit=SECONDS
# Cell address of pnfsmanager service
pinmanager.service.pnfsmanager=${dcache.service.pnfsmanager}
# Timeout for pnfsmanager requests
pinmanager.service.pnfsmanager.timeout=300
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.service.pnfsmanager.timeout.unit=SECONDS
# Timeout for pool requests
pinmanager.service.pool.timeout=90
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.service.pool.timeout.unit=SECONDS
# Topic on which to expect pool monitor updates
pinmanager.pool-monitor.topic = ${dcache.pool-monitor.topic}
# ---- Pin Manager Database Host
#
# See dcache.db.host for details.
#
pinmanager.db.host = ${dcache.db.host}
# ---- Pin Manager Database Name
#
pinmanager.db.name = pinmanager
# ---- Pin Manager Database User
#
pinmanager.db.user = ${dcache.db.user}
# ---- Pin Manager Database Host
#
pinmanager.db.password = ${dcache.db.password}
# ---- Pin Manager Database Host
#
pinmanager.db.password.file = ${dcache.db.password.file}
# ---- Pin Manager database JDBC URL
pinmanager.db.url=jdbc:postgresql://${pinmanager.db.host}/${pinmanager.db.name}?targetServerType=master
# ---- Liquibase schema definition resource
pinmanager.db.schema.changelog=org/dcache/pinmanager/model/db.changelog-master.xml
# ---- Whether to manage the database schema automatically during startup
#
# If set to 'false' then the "dcache database update" command must be used to
# check if database schema needs to be updated and apply any necessary changes.
pinmanager.db.schema.auto=${dcache.db.schema.auto}
# ---- The maximum number of concurrent database connections.
#
# Should be bigger than the maximum number of request processing threads. It is
# recommended to leave a buffer of at least 5 connections on top of the number
# of threads.
pinmanager.db.connections.max = 50
(prefix)pinmanager.db.hikari-properties = Hikari-specific properties
# ---- The minimum number of idle database connections.
pinmanager.db.connections.idle = 1
# ---- Maximum pin lifetime
#
# Use -1 for infinite.
pinmanager.limits.pin-duration = -1
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.limits.pin-duration.unit = SECONDS
# ---- Execution period of unpin tasks
#
# Pin expiration and pin unpinning are background tasks. This property
# controls how often to execute these tasks.
#
pinmanager.expiration-period=60
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.expiration-period.unit=SECONDS
# ---- Period in which to reset all pins that failed to unpin
#
# Occasionally pins cannot be unpinned, for example due to unavailable pools.
# This property controls the time between making all pins that failed
# to unpin available to the unpinning process again.
#
pinmanager.reset-failed-unpins-period=2
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)pinmanager.reset-failed-unpins-period.unit=HOURS
# ---- Unpinning operations per task execution
#
# Pin unpinning is a background task. This property controls how many unpin
# operations that require contacting pools should at most be processed
# per unpin task execution. Use -1 for no limit.
#
pinmanager.max-unpins-per-run=200
# Authorization file for tape protection
pinmanager.authz.staging=${dcache.authz.staging}
pinmanager.authz.staging.pep=${dcache.authz.staging.pep}
(obsolete)pinmanager.cell.export = See pinmanager.cell.consume