The Calendar class is not thread-safe. Some JDBC methods accept Calendar objects from the client. We must synchronize on this Calendar in case the client is using the Calendar elsewhere.
Avatica also creates Calendar objects internally. Access to those calendars does not need to be synchronized, but they are often passed into methods that accept client Calendars, and will get synchronized anyway.