<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p><br /></p>
<div>---<br />
<div class="firmasarenet" style="clear: both; text-align: left;">
<div class="imgsarenet" style="margin: 0 0 10px 0;"><img src="https://www.sarenet.es/estaticos/LogoSarenetEmails.png?newlogo" alt="sarenet" /></div>
<div class="titulosarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: bold; font-size: 14px; color: #333333;"><strong>Egoitz Aurrekoetxea</strong></div>
<div class="dptosarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: normal; font-size: 12px; color: #333333;">Departamento de sistemas</div>
<div class="textosarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: normal; font-size: 12px; color: #333333;">944 209 470<br />Parque Tecnológico. Edificio 103<br />48170 Zamudio (Bizkaia)</div>
<div class="lnksarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: normal; font-size: 12px; color: #007ac4; line-height: 1.2;"><a id="mailto" style="font-size: 12px; color: #007ac4; text-decoration: underline;" href="mailto:egoitz@sarenet.es"><label id="label_email">egoitz@sarenet.es</label></a></div>
<div class="lnksarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: normal; font-size: 12px; color: #007ac4; line-height: 1.2;"><a style="font-size: 12px; color: #007ac4; text-decoration: underline;" href="http://www.sarenet.es">www.sarenet.es</a></div>
<br />
<div class="imprimirsarenet" style="font-family: Helvetica, Arial, sans-serif; font-weight: normal; font-size: 10px; color: #a0c361;">Antes de imprimir este correo electrónico piense si es necesario hacerlo.</div>
</div>
</div>
<p><br /></p>
<p>El 14-02-2019 15:46, Raphaël Halimi escribió:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">Hi Egoitz,<br /> <br /> Thank you for your quick answer.<br /> <br /> Le 14/02/2019 à 14:46, Egoitz Aurrekoetxea a écrit :
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">Now for the databases themselves. In /var/lib/cyrus the global databases<br /> were converted on-the-fly:<br /> <br /> # file /var/lib/cyrus/*.db<br /> /var/lib/cyrus/annotations.db:  Cyrus twoskip DB<br /> /var/lib/cyrus/deliver.db:      Cyrus twoskip DB<br /> /var/lib/cyrus/mailboxes.db:    Cyrus twoskip DB<br /> /var/lib/cyrus/statuscache.db:  Cyrus twoskip DB<br /> /var/lib/cyrus/tls_sessions.db: Cyrus twoskip DB<br /> /var/lib/cyrus/user_deny.db:    empty<br /> <br /> However, the user databases were not converted:<br /> <br /> # file /var/lib/cyrus/user/*/*<br /> /var/lib/cyrus/user/u/user1.seen: Cyrus skiplist DB<br /> /var/lib/cyrus/user/u/user1.sub:  ASCII text<br /> /var/lib/cyrus/user/u/user2.seen:   Cyrus skiplist DB<br /> /var/lib/cyrus/user/u/user2.sub:    ASCII text<br /> /var/lib/cyrus/user/u/user3.seen:   Cyrus skiplist DB<br /> /var/lib/cyrus/user/u/user3.sub:    ASCII text<br />  
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">*Cyrus 2.4 converted databases on the fly. Cyrus 2.5 and newer don't.<br /> You should launch a "reconstruct -r -V max" for that purpose.*</blockquote>
<br /> So my next questions are: why are the databases still in skiplist<br /> format, whereas according to /usr/lib/cyrus/cyrus-db-types.txt, they<br /> should be twoskip ? Why didn't Cyrus convert them on-the-fly like the<br /> global databases ? Do I have to manually do it myself ? And if I do<br /> convert them, will it change anything (performance, reliability, etc<br /> etc) ?<br />  <br /> *As said perhaps is a Debian derived config for the package. Yes you<br /> should with the command above.*
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><br /> Also, what about the various databases in the mail directories<br /> (cyrus.cache, cyrus.header, cyrus.index) ? For most of them, the "file"<br /> command only reports "data". What format are they actually in ? Do I<br /> have to convert them too ?<br />  <br /> *Sure... Just launch a reconstruct -r -V max...*</blockquote>
</blockquote>
<br /> I just ran this command as cyrus user on my server (after reading the<br /> manual page). Unfortunately, the "seen" databases in /var/lib/cyrus/user<br /> are still reported by "file" as skiplist, and the "cyrus.cache",<br /> "cyrus.header" and "cyrus.index" in the various (sub)mailboxes, are<br /> still reported as simply "data".<br /> <br /> It did create "cyrus.annotations" databases in each subfolder, though<br /> (in twoskip format).<br /> <br /> Also,I'm a bit worried. I did see in the logs lines that said:<br /> <br /> repacking mailbox user.<user>.<folder>.<subfolder><br /> <br /> and<br /> <br /> reconstructing user.<user>.<folder>.<subfolder></div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><span style="color: #339966;"><strong>Those two lines are pretty normal...</strong></span></div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><br /> <br /> ...but also some more worrying lines that said:<br /> <br /> uniqueid clash with user.<user>.<folder>.<subfolder> for <some hex<br /> value> - changing user.<user>.<folder>.<subfolder></div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><strong><span style="color: #339966;">I haven't ever seen it.... can't say... I should take a lot at the code for answering.....</span></strong><br /> <br /> Is it something I should worry about ?<br /> <br /> Regarding the fact that they're still not in the twoskip format, should<br /> I use cvt_cyrusdb instead ? That would be unfortunate, since I'll have<br /> to create a script fed to the "find" command to mass-convert all<br /> databases; plus, I still don't know what the input format (the "data"<br /> that file talks about) is.</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><strong><span style="color: #339966;">reconstruct -r -V max should handle all conversions...</span></strong><br /> <br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">When I mill migrate, will I have to convert the databases through the<br /> flat format and back, or can I blindly copy the whole contents of<br /> /var/spool/cyrus and /var/lib/cyrus to the new server and expect it to<br /> work out of the box ?<br />  <br /> *When doing such a migration, it would be better to setup a<br /> replication between the 2.4 and the new 2.5 in the hosting. You should<br /> encrypt that communication. You could use the own cyrus encription for<br /> replication or something like OpenVPN. Although it should work, I<br /> wouldn't copy directly (with an rsync or scp) the files.*</blockquote>
</blockquote>
<br /> Yes, both servers communicate through a VPN, but since both will have<br /> the same Cyrus version, I thought I could just copy the files. Why is it<br /> a bad idea ?</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><strong><span style="color: #339966;">It's not a horrible idea... but with the replication you create all indexes and so from 0, with the correct version, without needing conversions and with the proper version and, gives you cleaner databases... for instance... and you could even copy constantly content to the datacenter for just failing-over to the datacenter when you are ready... moving to the new server is cleaner and easier... that's what I would do :)</span></strong></div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><br /> <br /> Regards,</div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"><strong><span style="color: #339966;">Cheers!</span></strong></div>
</blockquote>
</body></html>