Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search

Ticket #40 (new Defect)

Opened 7 years ago

Last modified 5 months ago

Need incremental iCalendar parsing to avoid blocking

Reported by: dreid@… Owned by: glyph@…
Priority: 2: Expected Milestone: Later
Component: Calendar Server Severity: Performance
Keywords: Cc:
Port:

Description (last modified by wsanchez@…) (diff)

http_PUT blocks while storing the calendar data, and it can take up to 5 minutes for a request involving a 208K ics file to complete. This is obviously a pretty good place for a DoS to happen. I suspect the culprit is the calendar validation, this stuff should be deferred to a thread.

Note we have a similar problem with XML; we probably need to switch to ElementTree or similar.

Change History

comment:1 Changed 7 years ago by wsanchez@…

  • Status changed from new to assigned
  • Priority changed from 1: Blocker to 2: Expected
  • Severity changed from Serious to Performance
  • Milestone set to Preview 1

Ew, yes.

comment:2 Changed 7 years ago by wsanchez@…

  • Description modified (diff)

We're going to need an iCalendar parser that can do incremental parsing, which means adding that capability to vobject. Not sure how much work that's going to be...

comment:3 Changed 7 years ago by wsanchez@…

  • Summary changed from http_PUT blocks to Need incremental iCalendar parsing to avoid blocking

See #16

comment:4 Changed 6 years ago by wsanchez@…

  • Milestone changed from Preview 1 to Version One

comment:5 Changed 6 years ago by wsanchez@…

  • Milestone changed from 1.0 to 2.0

comment:6 Changed 4 years ago by wsanchez@…

  • Milestone changed from CalendarServer-2.x to CalendarServer-3.x

comment:7 Changed 4 years ago by wsanchez@…

  • Owner changed from wsanchez@… to glyph@…
  • Status changed from assigned to new

comment:8 Changed 22 months ago by wsanchez@…

  • Milestone changed from CalendarServer-3.x to Later

comment:9 Changed 6 months ago by kurt.leubner@…

  • Cc kurt.leubner@… added

Cc Me!

comment:10 Changed 5 months ago by kurt.leubner@…

  • Cc kurt.leubner@… removed

Cc Me!

comment:11 Changed 5 months ago by kurt.leubner@…

  • Cc kurt.leubner@… added

Cc Me!

comment:12 Changed 5 months ago by kurt.leubner@…

  • Cc kurt.leubner@… removed

Cc Me!

Note: See TracTickets for help on using tickets.