'exception setting property value with CGLIB' in Logs when Using Edit in Word or Trying to Save a Page
症状
When editing an attachment via the "Edit in Word" Office Connector feature, the document does not save.
atlassian-confluence.log
に次のエラーが返される。
2010-07-14 18:04:07,004 ERROR [http-80-1] [atlassian.plugin.web.DefaultWebInterfaceManager] filterFragmentsByCondition Could not evaluate condition 'com.atlassian.plugin.web.conditions.AndCompositeCondition@19ee23c' for descriptor: system.content.action/marker/pagestartwatching
– url: /display/sapce/Home | page: 10125332 | userName: username | referer: http://localhost/login.action?os_destination=%2Fhomepage.action | action: viewpage
org.springframework.orm.hibernate.HibernateSystemException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.atlassian.confluence.mail.notification.Notification.setDigest; nested exception is net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.atlassian.confluence.mail.notification.Notification.setDigest
Caused by: net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.atlassian.confluence.mail.notification.Notification.setDigest
at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:220)
Alternatively you cannot save a page unless you check the "Minor change? (no notifications will be sent)" checkbox and get the following:
2010-07-09 10:50:55,906 ERROR [http-80-9] [atlassian.confluence.event.ConfluenceEventManager]
publishEvent An exception was encountered while processing the event: com.atlassian.confluence.event.events.content.page.PageUpdateEvent
[source=com.atlassian.confluence.pages.DefaultPageManager@1490e5f]
-- referer: http://wiki/pages/editpage.action?pageId=10092547 | url: /pages/doeditpage.action | userName: user | action: doeditpage | page: 10092547
org.springframework.orm.hibernate.HibernateSystemException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.atlassian.confluence.mail.notification.Notification.setDigest;
nested exception is net.sf.hibernate.PropertyAccessException:
exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.atlassian.confluence.mail.notification.Notification.setDigest
Caused by: net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info)
setter of com.atlassian.confluence.mail.notification.Notification.setDigest
原因
The upgrade task did not populate the DIGEST and NETWORK columns properly. This can occur when the columns fail to add during upgrade, or could be caused by incorrect column data types preventing the row updates. This is the symptom of another known issue NetworkAndSiteNotificationTypesUpgradeTask Fails when Upgrading to 3.3.0.
診断
The following queries will return a count of rows > 0 if you are affected by this issue:
select count(1) from NOTIFICATIONS where NETWORK is null;
select count(1) from NOTIFICATIONS where SPACEID is null and PAGEID is null and DIGEST is null;
select count(1) from NOTIFICATIONS where DIGEST is null;
ソリューション
For the first error message,
Run these queries on your database, to help fix the NOTIFICATIONS table:
update NOTIFICATIONS set NETWORK = 0 where NETWORK is null;
update NOTIFICATIONS set DIGEST = 1 where SPACEID is null and PAGEID is null and DIGEST is null;
update NOTIFICATIONS set DIGEST = 0 where DIGEST is null;
For the second error message,
- Confirm the columns don't exist.
Then create them:
ALTER TABLE NOTIFICATIONS ADD ( DIGEST bit(1), NETWORK bit(1), CONTENTTYPE varchar(255))
Update the
buildNumber
in theconfluence.cfg.xml
file to 1905(if it not already higher), which can be found in your confluence home or data directory. Failure to do so may cause errors in future upgrades.See also Confluence Build Information.
<confluence-configuration> ... <buildNumber>1905</buildNumber>