Blog
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

...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 láttam, hogy a bandana táblában nem megfelelő a tartalom... azt sem tudtam, hogy van ilyen táblája a Confluence-nek. (smile)

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, én meg PostgreSQL adatbázissal:

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 é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:

 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 levettem a 403-as sorry server-t... (smile)

Milyen a Confluence 4?

Hát... fura.

Az első komoly probléma, hogy kiírtották a wiki markup szerkesztőt – legalábbis nem találtam – 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 üres, 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. Fura.


Unknown macro: {rate}
      
      
Page viewed times
  • No labels
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))