Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-50889

Calendars read from the cache cannot be used in the copy constructor

    XMLWordPrintable

Details

    Description

      Copying the cached calendars in the cache in Confluence clustered results in:

      java.lang.IllegalArgumentException: Illegal property [PRODID]
      at net.fortuna.ical4j.model.PropertyFactoryImpl.createProperty(PropertyFactoryImpl.java:1060)
      at net.fortuna.ical4j.model.Property.copy(Property.java:524)
      at net.fortuna.ical4j.model.PropertyList.<init>(PropertyList.java:76)
      at net.fortuna.ical4j.model.Calendar.<init>(Calendar.java:179)
      at com.atlassian.confluence.extra.calendar3.calendarstore.CalendarDataStoreCachingDecorator.copyCalendar(CalendarDataStoreCachingDecorator.java:249)
      at com.atlassian.confluence.extra.calendar3.calendarstore.CalendarDataStoreCachingDecorator.getSubCalendarContent(CalendarDataStoreCachingDecorator.java:225)
      

      This is because the registered property/parameter factories deep inside ical4j were gone after the deserialization, and because of how java.io.Serializable was implemented, the factories weren't reregistered.

      Attachments

        Issue Links

          Activity

            People

              dchui DavidA
              dchui DavidA
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: