chiark / gitweb /
66d74a8e996cf51a9ee32eebc504eb155a70242c
[disorder] / README.reload
1 The effect of "disorder reconfigure"
2 ====================================
3
4 This is current rather vaguely defined and implemented.  This file
5 will lay out what you can and cannot change over a reconfigure.  Any
6 other changes will require a full server restart.
7
8 I intend to improve the situation, but for now this is how it is.
9
10 * Options that might have to remain the same across restart
11
12 Arguably if there is anything in this section then that's a serious
13 bug!
14
15 ** alias
16
17 This defines how aliases are inserted into the track database.  Need
18 to think about how changing it will affect things.
19
20 ** namepart
21
22 Probably affects alias construction.
23
24 ** stopword
25
26 The search database will have to be rebuilt from scratch.  This is
27 do-able but AFAIK we don't detect it.
28
29 ** user
30
31 All the files will be owned by the wrong user!
32
33 * Options that must remain the same across reload
34
35 Some things will just require a restart.  We should either enforce
36 this (refusing to accept modified configurations that purport to
37 change them) or explicitly ignore it.
38
39 ** home
40
41 We absolutely cannot accept changing our state directory.  If this is
42 attempted it must be rejected.
43
44 ** lock
45
46 Liable to be removed anyway.
47
48 ** nice_speaker
49
50 Can't renice a running speaker to make it less nice (and we don't try
51 to make it more nice).  We ought to issue an error message and
52 otherwise ignore.
53
54 * Options that ought to be changable across reload but aren't
55
56 These options need some work somewhere to be changeable just by a
57 reload.
58
59 ** api
60
61 The main server will cope fine with this changing.  The speaker will
62 ignore the change however.
63
64 ** broadcast
65
66 The speaker will ignore the change.
67
68 ** broadcast_from
69
70 The speaker will ignore the change.
71
72 ** collection
73
74 If the set of collections change we ought to initiate a rescan.
75
76 ** device
77
78 The speaker will ignore the change.
79
80 ** multicast_loop
81
82 The speaker will ignore the change.
83
84 ** multicast_ttl
85
86 The speaker will ignore the change.
87
88 ** pause_mode
89
90 The speaker will ignore the change.
91
92 ** sample_format
93
94 The speaker will ignore the change.
95
96 ** speaker_command
97
98 The speaker will ignore the change.
99
100 * Options that can be changed across reload
101
102 These options can be changed at reload and it should just work.
103
104 ** authorization_algoritm
105
106 ** channel
107
108 ** default_rights
109
110 ** listen
111
112 ** mixer
113
114 ** new_bias
115
116 ** new_bias_age
117
118 ** new_max
119
120 ** nice_rescan
121
122 Wouldn't affect an already-running rescan, but reload already cancels
123 and restarts the underway rescan anyway.
124
125 ** noticed_history
126
127 ** reminder_interval
128
129 ** remote_userman
130
131 ** replay_min
132
133 ** signal
134
135 ** sox_generation
136
137 ** scratch
138
139 * Options that can change, but with a caveat
140
141 These options can be changed at reload but there is some caveat about
142 this (which ought to be documented, and in some cases is).
143
144 ** plugins
145
146 Plugin path.  You can change the plugin path but an already-loaded
147 plugin may stay loaded.
148
149 ** cookie_key_lifetime
150
151 Only affects subsequently generated keys - cannot shorten (or extend)
152 the lifetime of the current key.
153
154 ** cookie_login_lifetime
155
156 Only affects subsequently generated cookies - cannot shorten (or
157 extend) the lifetime of already-generated cookies.
158
159 ** history
160
161 The history might not shorten until it's next written.
162
163 ** player
164
165 Won't affect running players or decoders.
166
167 ** queue_pad
168
169 Won't shrink the queue.
170
171 ** tracklength
172
173 Won't affect already-computed lengths.
174
175 * Implementation Considerations
176
177 A likely change is that the speaker will be created on demand and
178 stopped when idle.  Some changes will still be handled via SM_RELOAD
179 but others may require the speaker to quit and restart.