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