iCal Import

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jefigo
    Junior Member
    • Sep 2010
    • 16

    #1

    iCal Import

    Hello
    is there a limitation (number of iCal events) when importing iCal files.
    I exported several Calendars from my Mac to .ical and tried to import them into OX.
    The biggest file (600kb) did not finish the import process.
    No messages in the gui or anything in a server log after more than 5 minutes.

    regards
    Jens
  • Martin Heiland
    Open-Xchange Quality Assurance
    • Feb 2007
    • 3695

    #2
    Hi Jens,

    i'm not aware of any limitation. Could you increase the log level to DEBUG and try again? Does the groupware process consumes more cpu ressources than normally after starting the import?

    Greetings

    Comment

    • jefigo
      Junior Member
      • Sep 2010
      • 16

      #3
      Hi Martin,
      thank you for your reply.
      I will try it again tomorrow. So far i was able to import the calendar using the oxtender for mac. This worked well.
      Normally i would like to use the oxtender for mac but due to the fact that i am using mobileme too, it doesn't work for me very well. If i use both sync services i get every event multiple times. I think that there is no way to select, which calendar should be synched with oxtender for mac. In my case i only want the calendar called office to be synched with oxtender. But this is another problem. As mentioned before, i'll try to import the large .ical file again with increased debugging.

      Greetings

      Comment

      • jefigo
        Junior Member
        • Sep 2010
        • 16

        #4
        debugging

        i hope i increased the debug level right.
        I tried to import the .ical file with a test user.
        This is what i found in open-xchange.log.0

        Code:
        Apr 18, 2011 5:44:19 PM com.openexchange.groupware.importexport.importers.ICalImporter importAppointment
        SEVERE: APP-0100 Category=1 Message=Can not insert appointment with uid M2CD-3-1-D50BCC3B-794C-E045-8AD7-AE5A8E6A7492. Uid already exists. exceptionID=-1943014261-16244
        APP-0100 Category=1 Message=Can not insert appointment with uid M2CD-3-1-D50BCC3B-794C-E045-8AD7-AE5A8E6A7492. Uid already exists. exceptionID=-1943014261-16244
        	at com.openexchange.calendar.CalendarMySQL.handleUid(CalendarMySQL.java:1548)
        	at com.openexchange.calendar.CalendarMySQL.insertAppointment0(CalendarMySQL.java:1408)
        	at com.openexchange.calendar.CalendarMySQL.insertAppointment(CalendarMySQL.java:1395)
        	at com.openexchange.calendar.CalendarSql.insertAppointmentObject(CalendarSql.java:447)
        	at com.openexchange.calendar.CalendarSql.insertAppointmentObject(CalendarSql.java:106)
        	at com.openexchange.groupware.importexport.importers.ICalImporter.importAppointment(ICalImporter.java:417)
        	at com.openexchange.groupware.importexport.importers.ICalImporter.importData(ICalImporter.java:250)
        	at com.openexchange.groupware.importexport.ImporterExporter.importData(ImporterExporter.java:126)
        	at com.openexchange.ajax.ImportServlet.doPost(ImportServlet.java:136)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:616)
        	at com.openexchange.ajax.AJAXServlet.service(AJAXServlet.java:413)
        	at com.openexchange.ajax.SessionServlet.service(SessionServlet.java:183)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:523)
        	at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:134)
        	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:335)
        	at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:227)
        	at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:352)
        	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:750)
        	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:776)
        	at java.lang.Thread.run(Thread.java:595)
        Apr 18, 2011 5:44:19 PM com.openexchange.groupware.importexport.importers.ICalImporter importAppointment
        SEVERE: APP-0096 Category=1 Message=Unnecessary recurrence information for recurrence type "no recurrence". exceptionID=-1943014261-16245
        APP-0096 Category=1 Message=Unnecessary recurrence information for recurrence type "no recurrence". exceptionID=-1943014261-16245
        	at com.openexchange.calendar.RecurrenceChecker.checkNo(RecurrenceChecker.java:96)
        	at com.openexchange.calendar.RecurrenceChecker.check(RecurrenceChecker.java:71)
        	at com.openexchange.calendar.CalendarSql.insertAppointmentObject(CalendarSql.java:423)
        	at com.openexchange.calendar.CalendarSql.insertAppointmentObject(CalendarSql.java:106)
        	at com.openexchange.groupware.importexport.importers.ICalImporter.importAppointment(ICalImporter.java:417)
        	at com.openexchange.groupware.importexport.importers.ICalImporter.importData(ICalImporter.java:250)
        	at com.openexchange.groupware.importexport.ImporterExporter.importData(ImporterExporter.java:126)
        	at com.openexchange.ajax.ImportServlet.doPost(ImportServlet.java:136)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:616)
        	at com.openexchange.ajax.AJAXServlet.service(AJAXServlet.java:413)
        	at com.openexchange.ajax.SessionServlet.service(SessionServlet.java:183)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:523)
        	at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:134)
        	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:335)
        	at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:227)
        	at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:352)
        	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:750)
        	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:776)
        	at java.lang.Thread.run(Thread.java:595)

        Comment

        • Tobias Prinz
          Open-Xchange Developer
          • Feb 2007
          • 24

          #5
          Ah, one of my favourite bugs... took quite a while and was finally fixed at 25th Mar 2011

          The problem is that older versions of the OX decided that two appointments cannot have the same UUID, because it was, well, supposedly unique. So the second appointment is not imported.

          Of course, series with change exceptions use UUIDs to mark the exception as belonging to the original series.

          For a long time, of did not support change- (and delete-) exceptions to series. You are running one of those. That explains the first log message, "Can not insert appointment with uid".

          The second one, "Unnecessary recurrence information for recurrence type "no recurrence", is probably related: I guess the exception does contain some series information that would make sense if the OX could see that it actually was an exception, but without support for exceptions, it just looks like a broken series.

          This leaves you with two options:
          1) Remove this one entry from your ical file - it is going to be easy to find, since it has a UUID ;-)
          2) Get your hands on a new version of OX where this is fixed. I guess that is going to be 6.20

          Why this fails without proper user feedback, I don't know, though. That sucks. Sorry.

          Comment

          • jefigo
            Junior Member
            • Sep 2010
            • 16

            #6
            Hi Tobias,
            this sounds very confusing for me.
            1) we have installed 6.20
            2) there is no such uuid in the ical file

            So i think the uuid must be generated during the import process or something else.

            Comment

            • Tobias Prinz
              Open-Xchange Developer
              • Feb 2007
              • 24

              #7
              Hmmm. It sounded exactly like the bug report that pointed me to the UUID problem. Anyway, that should not happen with 6.20. Can you do me a favour and create a bug report at https://bugs.open-xchange.com and attach that ICAL file? I'm pretty sure with the data at hand, I can figure it out fast and if it is some broken importer behaviour, I can fix it in the nearest PTF.

              Thanks in advance,
              Tobias Prinz
              Last edited by Tobias Prinz; 04-18-2011, 11:34 PM.

              Comment

              • jefigo
                Junior Member
                • Sep 2010
                • 16

                #8
                Sorry, i have to correct my last post a little bit.
                The uid is in the .ical - but only once. So the message about the already existing uid must depend on previous import trials.

                Comment

                • Tobias Prinz
                  Open-Xchange Developer
                  • Feb 2007
                  • 24

                  #9
                  Yes. The UUID is supposed to be unique context-wide. To reproduce the problem you'll have to delete the data from previous attempts.

                  So that's not the original problem. Good. I'll sleep better now.^^

                  Back to the original problem: First, let's look at the hardware: 600kb of ical data is a lot. Since you are testing, I guess it is something virtualized. What amount of RAM do you have assigned to the OX system?

                  Comment

                  • jefigo
                    Junior Member
                    • Sep 2010
                    • 16

                    #10
                    the OX runs on a VM with debian 5.08 64 bit. It has 4 CPUs and 4GB of RAM.

                    Comment

                    • Martin Heiland
                      Open-Xchange Quality Assurance
                      • Feb 2007
                      • 3695

                      #11
                      Do you have modified the groupware/ox-scriptconf.sh file to match the memory settings of the JVM and the available memory (-Xmx2048 for example)? We identified some performance/memory issues with the current iCal implementation, however the first step would be configuring the system in an optimal way.

                      Comment

                      • jefigo
                        Junior Member
                        • Sep 2010
                        • 16

                        #12
                        Hi Martin,
                        no i haven't done any tuning yet. I am not quite sure how to use the script for our needs.
                        What is your proposal?

                        Comment

                        • Martin Heiland
                          Open-Xchange Quality Assurance
                          • Feb 2007
                          • 3695

                          #13
                          Well, the crucial thing is configuring the maximum amount of memory the JVM can allocate. Otherwise you don't really have any advantage in adding physical memory. This is configured by the "-Xmx" parameter which is 512MB per default. Note that JVM will allocate most of the memory it is allowed to to use so you should check how many memory is typically unused at the system and add the difference to this parameter. If your machine has 4GB of memory and only consumes 512mb in total without OX running it's a safe bet to use 2048MB. Just configure and check the results, the perfect configuration depends on the system and services running on it.

                          Comment

                          Working...
                          X