...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 kiírtották a wiki markup szerkesztőt (lásd) – 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 pluginek 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 plugint validált 4-es Confluence-el (lásd), amelyek között nincs az, amit használni szerettem volna, így a {rate} makró sem... ez van, majd lesznek pluginek...