Oracle® Communications Calendar Server System Administrator's Guide Release 7.0.5 E54935-01 |
|
|
PDF · Mobi · ePub |
This chapter describes troubleshooting strategies for Oracle Communications Calendar Server.
If you experience trouble configuring Calendar Server while running the initial configurator script, init-config, and you are receiving an error from Oracle GlassFish Server, make sure that you running at least Java 7 and that your environment is correctly configured. For more information, see Glassfish Server Installation Guide.
If you upgrade your Java SE to Java SE Development Kit 7, Update 7 (JDK 7u7) or later, you must also upgrade GlassFish Server to the recommended patch level. Otherwise, you may encounter problems running the davadmin command.
Begin troubleshooting by making sure that the GlassFish Server web container is running and that Calendar Server is deployed. You can use either the GlassFish Server Administration Console or the asadmin command-line utility.
Topics in this section:
Using the GlassFish Server Administration Console to Check Calendar Server Status
Using the asadmin Command-line Utility to Check Calendar Server Status
If you have more than one GlassFish Server instance installed, use the asadmin -p to specify the instance's administrative port number.
Start the console.
Navigate to Web Applications under the Applications tab.
Make sure that davserver is deployed and enabled.
Run the following commands:
./asadmin list-components -p admin-port --type=web davserver web-module Command list-components executed successfully. ./asadmin show-component-status -p admin-port davserver Status of davserver is enabled. Command show-component-status executed successfully.
Follow these steps to troubleshoot the davserver process.
If davserver is not enabled, check the GlassFish Server log, server.log, in the GlassFish_home/domains/domain1/logs directory.
If davserver is deployed and enabled but clients have trouble connecting, check the davserver log, calendar.*, in the /var/opt/sun/comms/davserver/logs or equivalent directory. To increase the log level, use the davadmin command, for example:
./davadmin config modify -o log.dav.errors.loglevel -v FINE
See "Calendar Server Command-Line Utilities" for more information on the davadmin command.
If a davadmin command fails to run, use the -e option to get more details about the failure. For example:
./davadmin version Enter Admin password:********* DAV server connection failed. Is the server running? ./davadmin version -e Enter Admin password:********* JMXconnection exception for url service:jmx:rmi:///jndi/rmi://commsuite.example.com:46633/jmxrmi - Exception creating connection to: 1.1.1.1; nested exception is: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
This example shows SSL errors. In this case, you would make sure that the truststore file pointed to by the command through the -s option, or the commandfile option, or the default one, if none were specified explicitly, exists and is valid. The default truststore file, .asadmintruststore, is located in the config directory.
To verify:
As root, run an asadmin command on the GlassFish Server host on which Calendar Server is deployed. An .asadmintrustore file is created under the root (/) directory.
Make sure that this file is the same as the one in the Calendar Server config directory.
If you find a MySQL Server back-end error, make sure MySQL Server is running by pinging the JDBC connectionpool.
Start the GlassFish Server Administration Console.
Select JDBC Resources from Resources, then select Connection Pools.
Choose the caldavPool and perform a ping.
If the ping fails, check the Pool properties to make sure they are all correct.
You can also perform a command-line ping as follows:
./asadmin list-jdbc-connection-pools -p admin-port __CallFlowPool __TimerPool DerbyPool caldavPool Command list-jdbc-connection-pools executed successfully. ./asadmin ping-connection-pool -p admin-port caldavPool Command ping-connection-pool executed successfully.
Even if you ping the pool, sometimes Calendar Server is not able to load the back end. In this case, you see errors similar to the following:
SEVERE [2009-09-03T22:00:53.310-0700] <...JdbcBackend.getDataSource> Cannot lookup DataSource: javax.naming.NameNotFoundException: defaultbackend1 not found SEVERE [2009-09-03T22:00:53.313-0700] <...DavServer.loadBackend> failed to instantiate or create backend com.sun.comms.davserver.backends.BackendException: Cannot get DataSource: javax.naming.NameNotFoundException: defaultbackend1 not found(OPERATION_NOT_SUPPORTED)
To see the pool and resource data clearly, view the GlassFish Server configuration file, for example:
GlassFish_home/domains/domain1/config/domain.xml
If cause of error is not clear, delete and recreate the Connection Pool and JDBC resource by using the asadmin command, for example:
./asadmin delete-jdbc-connection-pool -p admin-port caldavPool ./asadmin create-jdbc-connection-pool -p admin-port --user admin --datasourceclassname com.mysql.jdbc.jdbc2.optional.MysqlDataSource --restype javax.sql.DataSource --property "DatabaseName=caldav:serverName=mysqlhost:user=caldav:password=mysqlpass:portNumber=3306:networkProtocol=jdbc" caldavPool ./asadmin create-jdbc-resource -p admin-port --user admin --connectionpoolid caldavPool jdbc/defaultbackend
If you recreate the JBDC resource, be sure to use the same user name and password that you initially used to create the resource. Restart GlassFish Server after recreating the connectionpool and resource.
You might see the following error when importing an ics file that was created in Convergence.
./davadmin calresource import -u admin -a caluser6@example.com -m convergence_caluser6_2.2.ics
Unable to import the resource into 'calendar'. DUE: 20090905T000000Z is before or equal to DTSTART: 20090905T000000Z
This is likely a Convergence problem, because it creates the todo by setting DTSTART and DUE to the same time. This is due to the restrictions described in RFC5545. The description section states that DUE must be later than DTSTART.
The workaround is to manually fix the iCal data to have DTSTART before DUE.
Calendar Server fetches and caches some domain information that is stored in LDAP, such as domain status. The system does not periodically refresh domain information, unlike user and group information.
If you need to refresh domain information, you can use one of the following methods:
Restart the GlassFish Server.
Using the davadmin command, make a change to any of the LDAP-related configuration options (base.ldapinfo.*), which causes the server to refresh all cached LDAP data.
If you are unable to do a POST command to /davserver/dav/ischedule/, check the following:
Verify that the davcore.scheduling.ischedulebackendid=ischedulebackendid parameter has been set in the davserver.properties file.
Verify that you can ping the ischedulepool in GlassFish Server. If you get the error "Access denied for user 'mysql'@'localhost' to database 'ischedule'," then run the following MySQL Server command:
GRANT ALL ON ischedule.* TO 'mysql'@'localhost'
Verify that you can now ping ischedulepool.
Restart GlassFish Server and do a "clean and build" in NetBeans.
To troubleshoot issues with a particular calendar user or client, it is useful to log all protocol interactions. You can force all telemetry logs by setting the service.dav.telemetry.forcetelemetry parameter to true. Do not use this setting unless required as it generates lots of data.
To enable telemetry logging at a reduced level, set the service.dav.telemetry.filter parameter. This parameter takes a space separated list of request URI prefixes that should be logged. For example:
/wcap/ logs all WCAP access.
/dav/principals/caluser1/ /dav/home/caluser1/ logs all Calendar Server access to caluser1's account (both principals and home collections, and all the resources underneath).
This section presents common errors that you might see in the Calendar Server log files. For more information about using log files, see "Managing Logging."
Topics in this section:
FINE [2009-08-24T19:28:57.020-0700] <...DavServlet.service> Got a non standard condition: DTEND: 20090829T000000 is before or equal to DTSTART: 20090829T000000
INFO [2009-08-24T19:28:57.021-0700] <...DavServerServlet.service> [RES] [403] Command execution time: 0.041 secs
FINE [2009-08-24T19:30:50.044-0700] <...DavServlet.service> Got a non standard condition: uid q3EfPB0C4EHHj918X2GVU1 already in use in /dav/home/modendahl/calendar/765345.ics
INFO [2009-08-24T19:30:50.046-0700] <...DavServerServlet.service> [RES] [403] Command execution time: 0.063 secs
FINE [2009-08-24T19:32:07.803-0700] <...DavServlet.service> Got a non standard condition: unsupported content-type: application/octet-stream
INFO [2009-08-24T19:32:07.805-0700] <...DavServerServlet.service> [RES] [403] Command execution time: 0.019 secs
FINE [2009-08-24T19:32:58.098-0700] <...DavServlet.service> Got a non standard condition: getNode returned null for uri /dav/home/modendahl/calendar/teeeest.ics
INFO [2009-08-24T19:32:58.099-0700] <...DavServerServlet.service> [RES] [404] Command execution time: 0.012 secs
FINE [2009-08-24T19:33:39.239-0700] <...DavServlet.service> Got a non standard condition: Invalid Resource Type in POST:CALENDAR_RESOURCE
INFO [2009-08-24T19:33:39.241-0700] <...DavServerServlet.service> [RES] [403] Command execution time: 0.02 secs
INFO [2009-08-24T19:35:10.416-0700] <...DavServerServlet.service> [REQ] CONNECT /dav/home/modendahl/calendar/ 192.18.127.57 ics-s6.sfbay.example.com:8080
INFO [2009-08-24T19:35:10.418-0700] <...DavServerServlet.service> [RES] [501] Command execution time: 0.0020 secs
You can use a browser servlet to view an account's properties stored in collections and resources. You might find this helpful when troubleshooting calendar problems.
To access this browser servlet, take any valid dav URI and replace the dav prefix following davserver with browse. For example, in a browser, change the following:
http://example.com:3080/davserver/dav/home/smithj/calendar/
to:
http://example.com:3080/davserver/browse/home/smithj/calendar/
The servlet returns a a view of the account's properties stored in collections and resources. You can navigate among properties and delete them as well. The servlet also has some import function if you want to use a server-side import instead of a client-side import.
The delete and file import features are enabled only when the logging level is set at FINE or lower. To specify the logging level, use the log.dav.errors.loglevel configuration parameter.
Tip:
You can log in with Calendar Server administrator (the default is calmaster) credentials to view multiple accounts with one login. Also, when viewing multiple accounts, clear your browser cache before viewing the next account.This section describes client issues.
Topics in this section:
Lightning does not support more than one calendar account. It allows only one account per server at a time.
Lightning 0.9 does not support multiple reminders for single events. Lightning 1.0 beta 1 does support multiple reminders.
Lightning is not able to create an account if the user name contains special characters.
If Lightning 1.0 beta1 is installed with Thunderbird 3, and you try to go back to Thunderbird 2 and Lightning 0.9, when starting Thunderbird the following error occurs:
The Calendar data in your profile was updated by a newer version of Lightning, and continuing will probably cause the information to be lost or corrupted. Lightning will now be disabled and Thunderbird restarted.
To fix this error:
Export all your calendar data in iCalendar format.
Remove the calendar database storage.sdb file from your profile.
Restart the Thunderbird and import the iCalendar file.
Thunderbird on Solaris needs to be reloaded twice to get the newly created Todo.
Inviting users on Thunderbird for Solaris and checking their availability does not show free/busy check properly. Instead, the invitee is always shown as free even when the invitee is busy.
Calendar import is failing with Thunderbird on Windows and Solaris. The failed import displays the "Modification_failed" error message. Logging back in to the profile loads the imported data to the calendar.
Apple iCal adds its own default reminder to an event if you select the "Add a default alarm to all new events and invitations" option. Thus, if calendar1 exports the event (with no reminder) and calendar2 imports it, the imported reminder has a default alarm set.
Apple iCal is not able to create an account if the user name contains special characters.
If the event is created with "Repeat on Weekdays only" option from Lightning or Convergence, the Apple iCal will convert it to "Every day" and display it.
The following information was found with iPod touch 3.1.3 firmware.
Supported Features:
Event is supported.
Reminders are supported with iPod touch, up to a maximum of two reminders for a single event.
Recurrence is supported.
iPod touch client enables you to a create duplicate calendar.
Unsupported Features:
Todos.
[AppleiPhone]STATUS not being taken into account when invitation event canceled by organizer.
Invitations can be viewed by not accepted, declined or rejected.
When the organizer of the event cancels the event, invitees do not have any information that event is canceled.
Attachments.
Free/busy.
Availability check.
Import-Export functionality.
Share/Subscribe of calendar.
Apple iPhone STATUS not being taken into account when invitation event canceled by organizer
When an iPhone 3 user gets an invitation from a Lightning user, there is no option to accept, reject, or decline the event. Additionally, when the inviting user deletes the event, the iPhone user does not receive an event notification, nor is the event deleted from the user's calendar. The event is in read-only mode. This issue is fixed starting with the iPhone 4 release.
Connector for Microsoft Outlook
See "Connector for Microsoft Outlook and Event Time Modifications."
For correct setup and data synchronization to occur on devices running iOS 5 and Mac OS 10.7, make sure that you have installed at least Calendar Server 7 Update 2 Patch 5.
Currently, the Mac OS 10.9 iCal Client enables you to create or move events, but not delete events.
You can configure Instant Messaging Server for Java Message Service (JMS) to support Calendar Server 7 Agent alerts. If you find that you are not receiving event reminders (alarms) in an XMPP-enabled instant messaging client, verify that the password configuration has been properly configured.