Last modified by Normann P. Nielsen on 2025/12/12 15:11

From version 3.1
edited by Normann P. Nielsen
on 2025/12/12 15:11
Change comment: There is no comment for this version
To version 1.1
edited by Normann P. Nielsen
on 2025/12/12 15:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Tags
... ... @@ -1,1 +1,0 @@
1 -confluence
Blog.BlogPostClass[0]
Category
... ... @@ -1,1 +1,0 @@
1 -News
Content
... ... @@ -1,129 +1,0 @@
1 -Thursday night on the couch, having a day off friday, I decided to do some layout work on the Confluence we use at my workplace (just for the fun of it, as my work is my hobby - sort of anyway).
2 -
3 -I had created a new User Macro, that I wanted to implement on the Dashboard, so I started editing in the Global Layouts in Confluence to place it on the Dashboard:
4 -
5 -[[image:Screen Shot 2014-02-02 at 20.01.39.jpg||width="842"||height="296"]]
6 -
7 -As part of the changing of the Dashboard code, I entered:
8 -
9 -
10 -{{code}}
11 -{html}<font size="4">Space Quick Select</font>{html}
12 -{{/code}}
13 -
14 -pressed "Save" and:
15 -
16 -[[image:bam_logo.jpg]]
17 -
18 -the Confluence went down - just giving me a "Service Unavailable" from the Traffic Manager.
19 -
20 -Shit, I restarted the instance- no improvement.....so starting to diagnose:
21 -
22 -
23 -{{code}}
24 -npn@docs01:~$ wget -O - localhost:8080
25 ---2014-01-30 21:46:27-- http://localhost:8080/
26 -Resolving localhost... ::1, 127.0.0.1
27 -Connecting to localhost|::1|:8080... connected.
28 -HTTP request sent, awaiting response... 500 Internal Server Error
29 -2014-01-30 21:46:28 ERROR 500: Internal Server Error.
30 -
31 -npn@docs01:~$
32 -{{/code}}
33 -
34 -
35 -
36 -Hm, error 500, diagnosting further:
37 -
38 -
39 -{{code}}
40 -root@docs01:/pack/confluence-data/logs# tail -f atlassian-confluence.log
41 -caused by: java.lang.RuntimeException: Error rendering template for decorator global
42 -at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:186)
43 -caused by: org.apache.velocity.exception.ParseErrorException: Encountered "4" at /decorators/global.vmd[line 38, column 87]
44 -Was expecting one of:
45 - "," ...
46 - ")" ...
47 - <WHITESPACE> ...
48 -
49 -at org.apache.velocity.Template.process(Template.java:141)
50 -{{/code}}
51 -
52 -
53 -
54 -So, It seems the code I put in the Global layout makes the Confluence crash totally, not just rendering the Dashboard, but TOTALLY!!!
55 -
56 -I fired up for MySQL and looked at the DECORATORS table:
57 -
58 -
59 -{{code}}
60 -mysql> select DECORATORID,DECORATORNAME FROM DECORATOR;
61 -+-------------+-----------------------+
62 -| DECORATORID | DECORATORNAME |
63 -+-------------+-----------------------+
64 -| 64913409 | decorators/global.vmd |
65 -| 48300036 | decorators/page.vmd |
66 -| 59080705 | decorators/page.vmd |
67 -+-------------+-----------------------+
68 -3 rows in set (0.00 sec)
69 -
70 -mysql>
71 -{{/code}}
72 -
73 -
74 -
75 -Now, 2 choises are available:
76 -
77 -1. Fix It
78 -1. Delete the DECORATORID=64913409 record.
79 -All though I am pretty sure number 2 works (same as using "Reset Default"), I went for number 1:
80 -
81 -
82 -
83 -First, I shut down Confluence completely.
84 -
85 -Then I made a complete dump of the Confluence Database:
86 -
87 -
88 -{{code}}
89 -mysqldump -uconfluence -p confluence > confluence.sql
90 -{{/code}}
91 -
92 -
93 -
94 -After securing the backup, I dumped the DECORATOR table:
95 -
96 -
97 -{{code}}
98 -mysqldump -uconfluence -p confluence DECORATOR > DECORATOR.sql
99 -{{/code}}
100 -
101 -
102 -
103 -After that, I changed the DECORATOR.sql file i the "vim" editor - stripping off everything but the record for DECORATORID=64913409, and change the "INSERT INTO" to an "UPDATE"  so it looked like:
104 -
105 -
106 -{{code}}
107 -UPDATE DECORATORS SET body='### ...code...code...code.' WHERE DECORATORID=64913409
108 -{{/code}}
109 -
110 -And the whole point being that I removed the "{html}<font size=\"4\">Space Quick Select</font>{html}" from the body code.
111 -
112 -
113 -
114 -Finally, I put back the decorator:
115 -
116 -
117 -{{code}}
118 -mysql -uconfluence -p confluence < DECORATOR.sql
119 -{{/code}}
120 -
121 -
122 -
123 -And started the Confluence Instance:
124 -
125 -
126 -
127 -[[image:success.jpg||width="300"]]
128 -
129 -- up and running again
Is hidden
... ... @@ -1,1 +1,0 @@
1 -No
Publish date
... ... @@ -1,1 +1,0 @@
1 -2014-02-02 20:13:00.0
Is published
... ... @@ -1,1 +1,0 @@
1 -Yes
Title
... ... @@ -1,1 +1,0 @@
1 -Busting the Work Confluence