Commit Graph
100 Commits
Author SHA1 Message Date
Axel Uhl 80970b876a more text in the architecture document 2012-08-03 12:00:32 +02:00
Axel Uhl a91a46c2d7 starting to write an architecture document 2012-08-03 11:00:57 +02:00
Axel Uhl da07c8da0f fixing bug 910: when tracked race is (un)linked to/from RaceColumn, LeaderboardDTOCache now removed the leaderboard affected from the cache 2012-08-02 22:50:42 +02:00
Axel Uhl 55ea3df071 fixed blinking marks issue 2012-08-02 12:31:05 +02:00
Axel Uhl de6091bcec fixing bugs 901 and 902: leg column adjustment after course update 2012-08-01 22:52:08 +02:00
Axel Uhl aa8f6c2a7d fixing MongoDB tests by using the same MongoDB instance for read as for write 2012-08-01 22:38:24 +02:00
Axel Uhl b0144d6b21 use same MongoDB instance throughout a single MongoDB test to ensure the read-our-own-writes rule 2012-08-01 21:37:04 +02:00
Axel Uhl 590fac568c fixing bug 904, moving BearingCluster tests to BearingTest and removing the redundant super.setUp() in WindEstimationOnStoredTracksTest 2012-08-01 16:47:52 +02:00
Axel Uhl 028be6fbfa added the code that loads the "stray" leaderboards again after accidentally removed 2012-08-01 16:25:38 +02:00
Axel Uhl 0314ef9e4e fix for bug 908: leaderboard referenced by multiple groups now loaded only once 2012-08-01 16:14:26 +02:00
Axel Uhl f090aa7cd3 Merge branch 'failing-test-908' 2012-08-01 15:56:45 +02:00
Axel Uhl b66e6f1e47 a failing test case for bug 908 2012-08-01 15:56:02 +02:00
Axel Uhl 61d2bb8ec2 a bug fix for bug 908: leaderboards referenced by more than one group are duplicated during loading 2012-08-01 15:48:16 +02:00
Axel Uhl 6439b1472d NPE that caused bug 909 (empty leaderboard if only proxy races attacehd) fixed 2012-08-01 15:19:23 +02:00
Axel Uhl 0514bdf031 Merge branch 'course-update' 2012-08-01 15:04:31 +02:00
Axel Uhl d37b0904b5 Merge branch 'master' into course-update 2012-08-01 10:40:03 +02:00
Axel Uhl e59665413a added script to replicate wind through a proxy connection 2012-08-01 10:22:44 +02:00
Axel Uhl a6003d1ea8 introduced "-f" switch in install script for forceful installation of a deviating branch 2012-08-01 10:12:42 +02:00
Axel Uhl f4330f35e3 fixed notification order in test case to avoid race condition 2012-07-31 21:34:12 +02:00
Axel Uhl 2af353aa5c major overhaul of TrackedRaceImpl's locking/synchronization behavior:
Introduced a serializationLock which works "in reverse." When the instance is to be serialized,
writeObject obtains the writeLock exclusively. This keeps all modifications to serializable structures
out because they all obtain the read lock.
2012-07-31 21:22:03 +02:00
Axel Uhl 92446a399e no synchronized on TrackedRace anymore; it was useless and caused deadlocks during course updates in conjunction with mark passing updates;
Moved the synchronized writeObject(...) method to base class TrackedRaceImpl where the important data structures reside. Removed the
synchronized qualifier and rely only on the CouseImpl's lock. However, this is as unsafe as the synchronized was. What would actually
be required is a dedicated writeObject method that locks on each individual structure's lock when it writes it.
2012-07-31 20:27:31 +02:00
Axel Uhl d0340c7fe6 replace gates properly when one or both of the gate's buoys were changed 2012-07-31 17:47:36 +02:00
Axel Uhl 761e47e95b made LockUtil's map recording hold times for write locks thread safe 2012-07-31 16:48:52 +02:00
Axel Uhl 0689103efe Merge branch 'master' into course-update 2012-07-31 15:16:08 +02:00
Axel Uhl ffb54444b8 improved logging for adding/removing waypoints to/from a course 2012-07-31 15:13:30 +02:00
Axel Uhl 7ca9173571 fixed issue with course change when replacing control point with equal-named control point 2012-07-31 13:27:21 +02:00
Axel Uhl 8307d59cc2 Merge remote-tracking branch 'server/master' 2012-07-31 11:51:56 +02:00
Axel Uhl 414b9f49a0 reasonably working course update panel; still a few resizing issues with popup dialog containing a CellTable 2012-07-31 11:49:13 +02:00
Axel Uhl d9bb932b13 a compiling version of RaceCourseManagementPanel after major refactoring to using a ControlPointDTO list 2012-07-31 11:08:44 +02:00
Axel Uhl 8476780890 introducing ControlPointDTO, and GateDTO for SailingService.updateRaceCourse API 2012-07-31 09:36:04 +02:00
Axel Uhl dd87237331 Merge branch 'browser-detection' 2012-07-30 15:44:26 +02:00
Axel Uhl 9fae8d0ab2 minor formatting / whitespace changes 2012-07-30 15:43:22 +02:00
Axel Uhl 02bba76e2d Merge remote-tracking branch 'server/master'
Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceCourseManagementPanel.java
2012-07-30 15:35:59 +02:00
Axel Uhl 6d97766dff preparing for swapping course updates 2012-07-30 15:14:54 +02:00
Axel Uhl f763879411 Use DoublePair instead of Pair<Double, Double> to avoid excessive auto-boxing of double values. Credits to Stephan Erb. 2012-07-30 11:52:58 +02:00
Axel Uhl 481f6a3234 add index over SwissTiming message collection for message sequence number 2012-07-28 14:44:28 +02:00
Axel Uhl 681693aee0 in LeadaerboardDTOCache distinguish cache objects by waitForLatestAnalyses parameter value to avoid inconsistencies; adjust time point to that of latest change
Have the cache adjust the time point of the request to that of the latest change to any of the attached races or the latest score correction to improve
cache hit ratio.

Eliminated RaceDTO.timePointOfLastEvent because it is just not interesting; timePointOfNewestEvent, however, is very interesting. Replaced a bunch
of usages of timePointOfLastEvent by the more adequate timePointOfNewestEvent.
2012-07-28 14:16:50 +02:00
Axel Uhl fe9d89ef33 also registering the LeaderboardDTOCache for score correction changes 2012-07-28 09:12:29 +02:00
Axel Uhl 83b54f7b2f using the LeaderboardDTOCache in SailingServiceImpl.getLeaderboardByName for non-live mode 2012-07-27 18:58:03 +02:00
Axel Uhl 1f5b58f6a9 updated LeaderboardDTOCache so it may actually work 2012-07-27 18:53:28 +02:00
Axel Uhl e0b17c8881 Merge branch 'master' into course-update 2012-07-27 15:34:24 +02:00
Axel Uhl a59b42c4aa avoid NPE if no regatta name is specified 2012-07-27 15:22:03 +02:00
Axel Uhl b71f2fd4b7 beautified message string 2012-07-27 15:21:48 +02:00
Axel Uhl 088294a7a8 improved lock logging with stack trace output; fixed NPEs for lock name generation for null trackedItems 2012-07-27 12:13:42 +02:00
Axel Uhl bc3491baba made compile again with locking logging instrumentation 2012-07-27 11:44:45 +02:00
Axel Uhl eeff3f6ed7 Merge branch 'master' into course-update 2012-07-27 10:33:47 +02:00
Axel Uhl 1c24d022dd fixed bug 892: discarding rules 2012-07-27 09:33:57 +02:00
Axel Uhl 5f389b849d if non-discardable result would have been discarded, discard another one 2012-07-27 08:52:25 +02:00
Axel Uhl cae0714fc6 if equal scores, discard first racename rather than last 2012-07-27 08:13:04 +02:00
Axel Uhl d1e86f7064 Merge remote-tracking branch 'server/master' 2012-07-27 01:57:05 +02:00
Axel Uhl 6b3ebb627a added failing test case and fix for bug 892: leaderboard ranking wrong if two equally-scored discarding results with more than one discard 2012-07-27 01:55:15 +02:00
Axel Uhl b62fe5fe0c working on the course-update deadlock; preparing for more instrumentation to at least be able to see where things lock up 2012-07-27 01:16:32 +02:00
Axel Uhl 2e82ca1c3b Merge remote-tracking branch 'server/master' 2012-07-26 14:40:31 +02:00
Axel Uhl 87582bb5c3 fixed endless recursion problem on DistanceCache caused by "backward" entries (from>to) being entered into the cache 2012-07-26 14:37:00 +02:00
Axel Uhl 46da1be7c6 Merge branch 'broken-frank' 2012-07-26 10:44:04 +02:00
Axel Uhl 95312b3707 Merge branch 'distance-cache' 2012-07-26 10:43:57 +02:00
Axel Uhl 111d7032c7 more elaborate test case for the DistanceCache implementation, testing actual caching and invalidation behavior 2012-07-26 01:54:59 +02:00
Axel Uhl 1a9ea93f65 added more sophisticated distance cache test case 2012-07-26 01:22:48 +02:00
Axel Uhl c922c3be24 trying to fix GWT build on server 2012-07-25 21:24:21 +02:00
Axel Uhl 4e10a39dea Merge branch 'master' into broken-frank 2012-07-25 21:10:56 +02:00
Axel Uhl 28896e426f fixed bug 889: column expansion / expandability 2012-07-25 21:01:55 +02:00
Axel Uhl a4bd711250 solving bug 888: leaderboard columns disappeared because RaceColumnDTO considered trackedRaceIdentifiersPerFleet in its hashCode/equals 2012-07-25 16:47:26 +02:00
Axel Uhl b037dafd1f fixed typo in comment 2012-07-25 15:36:00 +02:00
Axel Uhl 261c84579b advancing the tests for the new distance cache 2012-07-25 14:56:17 +02:00
Axel Uhl 791a1da7a9 Merge branch 'master' into distance-cache 2012-07-25 13:44:15 +02:00
Axel Uhl e032c9bd7b Merge branch 'master' into distance-cache 2012-07-25 13:06:05 +02:00
Axel Uhl 22635714b8 avoid NPE in distance cache 2012-07-25 12:33:02 +02:00
Axel Uhl e1cacbaa65 first skeletal implementation of distance cache in its own class 2012-07-25 12:01:34 +02:00
Axel Uhl 03b095a368 Merge branch 'master' into distance-cache 2012-07-25 11:30:53 +02:00
Axel Uhl 5eb905af77 extracted distance cache logic into separate class 2012-07-25 11:30:35 +02:00
Axel Uhl b5f3213f7e fixed merge accident regarding map click handler 2012-07-25 11:27:41 +02:00
Axel Uhl d2ab9b39d0 Merge branch 'master' into distance-cache 2012-07-25 10:54:33 +02:00
Axel Uhl 8aeca37a44 Merge remote-tracking branch 'server/master'
Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMap.java
2012-07-25 10:49:55 +02:00
Axel Uhl a99e2cfa2f further enhanced preparatory test case for tracks / outliers / distances 2012-07-25 10:15:00 +02:00
Axel Uhl ae4d77d09d added another verdict for track / outlier test 2012-07-25 00:18:43 +02:00
Axel Uhl b37856cdad more sophisticated test case around tracks, outliers and distances 2012-07-25 00:17:46 +02:00
Axel Uhl d604d2f0cb preparing a series of test cases for tracks to which outliers are added 2012-07-24 18:49:15 +02:00
Axel Uhl 17ec2d8fee preparing for a distance cache in GPSFixTrackImpl 2012-07-24 18:33:19 +02:00
Axel Uhl 529a7e3d0e added -XX:+UseMembar to the launch configurations and the product; see http://bugs.sun.com/view_bug.do?bug_id=6822370;
it may help fixing a hanging ReentrantReadWriteLock
2012-07-24 11:39:31 +02:00
Axel Uhl 28e82e90f7 bug 884: click on map background shall go back to live mode if the previous click was performed in live mode 2012-07-24 11:32:21 +02:00
Axel Uhl 2ba1dc3151 trying to fix bug 875 by using the same MarkPassings to decide hasFinished and grab the time points 2012-07-24 10:37:15 +02:00
Axel Uhl 45cb1db0f5 moved Util.lock to new class LockUtil which is not in domain.common and hence doesn't hurt the GWT build 2012-07-24 00:51:25 +02:00
Axel Uhl f82b87f87d Merge remote-tracking branch 'server/master' 2012-07-24 00:17:40 +02:00
Axel Uhl 42c510c729 cancel interrupt timer for LiveLeaderbaordUpdater appropriately also in case of exceptions 2012-07-24 00:11:55 +02:00
Axel Uhl e9464b05d4 acquire locks using a timeout so that we don't wait forever for what may be a Java VM bug
See also http://bugs.sun.com/view_bug.do?bug_id=6822370. As an additional means to robustness,
added an interruption timer that will interrupt the live leaderboard updater thread if it hangs for
more than the update interval
2012-07-23 23:56:41 +02:00
Axel Uhl ecb2b8320f fixed timings in LiveLeaderboardUpdater 2012-07-23 11:54:47 +02:00
Axel Uhl 8a3f89fb18 start leaderboard in Live play mode if it's started playing 2012-07-23 09:41:37 +02:00
Axel Uhl 62c88e0774 delay repetetive updates in LiveLeaderboardUpdater so they don't occur more than once a second 2012-07-23 03:23:48 +02:00
Axel Uhl a7ab4c93c6 fixed lastRequest update and cache hit count update 2012-07-23 02:29:18 +02:00
Axel Uhl 20d12939f8 first attempt at keeping computing live leaderboard results in LiveLeaderboardUpdater in the background 2012-07-23 02:20:55 +02:00
Axel Uhl 9a9440018e added minus(long) to TimePoint/AbstractTimePoint 2012-07-23 00:45:32 +02:00
Axel Uhl b03b4b0e41 added before/after/plus to TimePoint/AbstractTimePoint 2012-07-23 00:40:37 +02:00
Axel Uhl 5d04b737cb avoid a NPE during comparison 2012-07-22 19:41:26 +02:00
Axel Uhl 592bf02292 increased thread pool size for getLeaderboardByName future execution to 10xCPUs 2012-07-22 17:36:49 +02:00
Axel Uhl 6aedfcd21c fixed bug 433: Timer.setLivePlayDelayInMillis updated to now-delay in play instead of in live mode 2012-07-22 12:27:24 +02:00
Axel Uhl 008b7d89ac fixed StringMessages properties files (typo in constant name) 2012-07-22 02:00:16 +02:00
Axel Uhl d17861b61a cache ranks in tracked legs for the duration of one getLeaderboardByName call and use where needed 2012-07-22 01:04:31 +02:00
Axel Uhl 9cbb07ab4b By default let a leaderboard use the delay to live of the latest tracked race associated with it 2012-07-21 22:09:32 +02:00
Axel Uhl e6c4982c41 attempt to detect the delay to live in millis of the race that started latest and apply it to the LeaderboardPanel's timer 2012-07-21 21:33:10 +02:00
Axel Uhl 98b6331799 Merge remote-tracking branch 'server/master' 2012-07-21 21:21:03 +02:00