We get this exception if we are updating an Event which is child of another event.
SOQL:
SELECT Id, IsChild, IsGroupEvent FROM Event WHERE Id = 'IdOfEvent'
How Child Events get Created in Salesforce?
While creating a new event/editing an existing event, we have the ability to invite people. So, for the invitees(users/contacts/leads), Salesforce internally creates separate events for each invitee with the flag isChild=TRUE.
When you are updating the events, ignore events where IsChild = true.