Note: Jazz Team Server runs
on multiple database platforms; however, differences between the enterprise
databases exist in syntax, optimization strategies, and locking semantics.
The server was tested on SQL Server using a combination of automated
tests and simulations of normal workloads and stress testing. The
simulation of normal workloads showed acceptable performance. In some
instances, database deadlocks occurred in automated concurrency tests;
however, these errors were not consistently reproduced on different
server hardware.
The server is designed to handle a large number
of simultaneous requests. In exceptional cases, deadlocks occur in
the repository database, as similar or equal objects are updated concurrently
in transactions that are associated with the requests. These errors
are rare, but typical events. The system is defensive against deadlocks,
and data integrity is maintained; there is no loss of data. Occasionally,
deadlocks are logged by tasks, such as build engine execution. Generally,
the condition is detected, and the task is performed again.
All
deadlocks are logged on the server to provide information about what
happened when the deadlock occurred. The log entry has text similar
to the following entry: com.ibm.team.repository.common.RetryableDatabaseException:
Serialization failure.
If your system encounters
deadlocks, see the error log, which is available at https://servername:9443/jts/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog.
If
you encounter frequent deadlocks, contact your product support, or
check the forums on jazz.net for the latest information, updates,
or mitigating techniques.