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