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 | ||
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 | ||
02ba7921 | 30 | ** user (enforced at reload only) |
b7adf2b1 RK |
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 | ||
02ba7921 | 40 | ** home (enforced at reload) |
b7adf2b1 | 41 | |
02ba7921 | 42 | We absolutely cannot accept changing our state directory. |
b7adf2b1 | 43 | |
02ba7921 | 44 | ** lock (generates a deprecation warning) |
b7adf2b1 RK |
45 | |
46 | Liable to be removed anyway. | |
47 | ||
02ba7921 | 48 | ** nice_speaker (generates a warning) |
b7adf2b1 | 49 | |
02ba7921 RK |
50 | You can't renice a running speaker to make it less nice (and we don't |
51 | try to make it more nice). | |
b7adf2b1 RK |
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. |