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