…némi kis problémával
Gondoltam frissítem a Confluence 3.4.8-at Confluence 4.0.3 verzióra.
Lementettem a tartalmat XML-be, letöltöttem az új Confluence-t, kicsomagoltam, megejtettem a szükséges konfigurációs módosításokat, majd leállítottam a régit és elindítottam az újat. Egészen jól haladtam, mígnem a tartalom visszatöltése megakadt, s a logban azt láttam, hogy a bandana táblában nem megfelelő a tartalom… azt sem tudtam, hogy van ilyen táblája a Confluence-nek… 😀
Keresgéltem a témában, és találtam egy issue-t: https://jira.atlassian.com/browse/CONF-23244 – 3.5 documentation restore into new confluence install fails
Az issue-ban leírt hiba azonos azzal amit tapasztaltam, csak ő Oracle-t, én meg PostgreSQL adatbázist használtam:
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "bandana_unique_key"
Az issue szeptember 18 óta nyitott…
Tovább folytattam a keresést, és találtam egy másik bejegyzést is: https://jira.atlassian.com/browse/CONF-21986 – Database deadlock during initialisation of plugins
Az issue-ban le van írva a workaround a problémára, keressem meg az alábbi SQL futtatásával a duplikált sorokat a migrálandó adatbázisban és töröljem ki őket:
SELECT b1.*
FROM BANDANA b1, BANDANA b2
WHERE b1.BANDANAID <> b2.BANDANAID AND
b1.BANDANACONTEXT = b2.BANDANACONTEXT AND
b1.BANDANAKEY = b2.BANDANAKEY
ORDER BY b1.BANDANACONTEXT, b1.BANDANAKEY, b1.BANDANAID DESC
Az SQL-t lefuttattam a régi adatbázison és lőn vala duplikált sorok járulék színem elé:
bandanaid | bandanacontext | bandanakey | bandanavalue
-----------+----------------+--------------+--------------
10715138 | ANDROIDSOAP | inviteTokens | <map/>
10715137 | ANDROIDSOAP | inviteTokens | <map/>
12320779 | JAVA | inviteTokens | <map/>
12320778 | JAVA | inviteTokens | <map/>
10715143 | JFPORTAL | inviteTokens | <map/>
10715142 | JFPORTAL | inviteTokens | <map/>
12320773 | JUM | inviteTokens | <map/>
12320772 | JUM | inviteTokens | <map/>
10715145 | LINUX | inviteTokens | <map/>
10715144 | LINUX | inviteTokens | <map/>
10715147 | PAIRPATWAR | inviteTokens | <map/>
10715146 | PAIRPATWAR | inviteTokens | <map/>
10715149 | PoP | inviteTokens | <map/>
10715148 | PoP | inviteTokens | <map/>
10715153 | TRAVIANDROID | inviteTokens | <map/>
10715152 | TRAVIANDROID | inviteTokens | <map/>
10977287 | VIZSGA | inviteTokens | <map/>
10977286 | VIZSGA | inviteTokens | <map/>
10715140 | ~auth.gabor | inviteTokens | <map/>
10715139 | ~auth.gabor | inviteTokens | <map/>
(20 rows)
Kitöröltem a duplikált sorokat úgy érzésre:
delete from BANDANA where bandanaid in(10715138,12320779,10715143,12320773,10715145,10715147,10715149,10715153,10977287,10715140);
Majd: új Confluence leállít, mentésből data könyvtár visszatesz, régi Confluence elindít, körülnéz hiba után, mentés újra XML-be, régi Confluence leállít, data átnevez mentésre, új Confluence elindít. És sikerült visszaállítani a tartalmat, a Confluence fut, mert ezt már az újon írom, de belekerült egy órácskába, mire a tartalmat normálisan átmigráltam és le tudtam venni a 403-as sorry server-t…
Milyen a Confluence 4?
Hát… fura.
Az első komoly probléma, hogy gyökerestül kiirtották a wiki markup szerkesztőt – cserébe egy szerkesztő van, amivel lehet írni wiki markup stílusban, amelyet azonnal átalakít formázott szöveggé, illetve lehet írni rich text eszköztárral, amelyből nem lesz wiki markup. Fura. Nagyon fura.
A második probléma az, hogy a plugin-ek listája igen gyér, használok egy csomó makrót, amelyeket 2-3 plugin ad az alap Confluence-hez, de ezek most nem működnek, ahogy az oldal alján a {rate} makró sem. Na, az van, hogy az Adaptavist még csak 3-4 plugin-t validált 4-es Confluence-el, amelyek között nincs az, amit használni szerettem volna, így a {rate} makró sem… ez van, majd lesznek plugin-ek…