Axel Uhl
17093b4dc6
availability checks now return non-2XX response code if unavailable; status script adjusted;
...
the java/target/status script now uses the consolidated
/sailingserver/api/v1/status end point and returns a 200 response if and
only if the RacingEventService has loaded all races it needs to load and
replication reports availability. In all other cases, non-2XX codes
are reported, such as 503 (not available) or 404 (not found)
Change-Id: I55ca3c98de993be0e6fff8e02837d17dd54431f6
2019-02-04 13:27:42 +01:00
Axel Uhl
9968b239e6
include the replication status in the gateway server status at /sailingserver/api/v1/status;
...
With this, the "available" attribute of the response document already is
a good indicator of the instance's availability. The next thing will be
to map this to a 5xx resonse code if the instance is not yet available
Change-Id: I87a179b04a811843bbd8cf85bba58c1eed81d46c
2019-02-04 12:54:29 +01:00
Axel Uhl
29993d1595
addressing bug 4018, comment #12 : send operation to master synchronously if it's not a re-send;
...
this way, replica-to-master-to-replica replication is not forced to wait
in line behind other background tasks such as maneuver re-calculations
which may unnecessarily delay, e.g., session replication to other
replicas, especially when a replica is under high background load.
Change-Id: Ic383a13905d822e6362401cbebd9e7d9aafd7a78
2019-01-30 15:14:20 +01:00
Axel Uhl
dbf33e1693
catch SocketException; it seems a valid alternative to reading -1 if the server has closed the connection
...
Change-Id: Iaee1dd2a35cea0b00f338fd3bb8f2e13067813f8
2019-01-23 10:51:53 +01:00
Axel Uhl
c35793b76d
fixed another issue with to-master-replication-queue running empty but scheduled flag not being reset
...
Change-Id: I434328d7618aae631330ee53a015e06030d13d7a
2019-01-22 15:04:27 +01:00
Axel Uhl
d2c3bdf2b5
ensure in-order delivery of messages from replica to master;
...
always pass operations to be sent to master into the queue so they
cannot be delivered to the master earlier than other queued operations
after connectivity has been restored
Change-Id: I7b1409dc4663659039058ce2c0511a26009114b4
2019-01-22 14:31:58 +01:00
Axel Uhl
bb07391659
added test for sending replication operation to master through HTTP POST
...
Change-Id: Ie16a2abb308dc3ae860cf729374362d9b5d21516
2019-01-22 10:50:19 +01:00
Axel Uhl
4532677c3e
register the ReplicationService object on the replicables when they become a replica, not on master
...
Change-Id: I354ab9b9442307c0b90b44b5949c0d03611e18e7
2019-01-22 00:23:40 +01:00
Axel Uhl
e633e66766
introduced queueing service for operations unsent to master
...
Change-Id: I0021082ec96b26b4302821a37acf2eb085baf2af
2019-01-21 23:10:45 +01:00
Axel Uhl
4543dd2089
uncompileable interims commit for bug4018: started with an operation re-send queue
...
Change-Id: I20acb4bd2d10226911055b8b92efa64bd56272a4
2019-01-21 18:49:51 +01:00
Axel Uhl
34b360cc3e
replication status under /replication/replication?action=STATUS
...
Change-Id: I63cfd64609e458690a89da3ed5478ee5f239579b
2019-01-18 17:35:58 +01:00
Axel Uhl
bce05a434c
use HttpUrlConnectionHelper in sendReplicaInitiatedOperationToMaster
...
Change-Id: I259341cf80dae6dbd7876a21327442aa6852cdea
2019-01-02 18:31:28 +01:00
Axel Uhl
4c4752a748
extracted replication interfaces into separate bundle to avoid having to activate the replication service only for registering a replicable
...
Change-Id: I22e423efee06e653a9ed3b9bea13b3b0153f7156
2018-12-14 21:27:17 +01:00
Axel Uhl
bd90f921dd
added Automatic-Module-Name headers to satisfy Oxygen.3 Java9 warnings rule
2018-03-24 01:45:37 +01:00
Axel Uhl
8fb4c00f0f
added ThreadLocalTransporter
...
Change-Id: I387a8355da12f8b0994ca6771e6fd77c2057c310
2018-03-21 16:25:43 +01:00
Steffen Schaefer
9123771f34
normalized line endings
2017-05-16 09:42:02 +02:00
Axel Uhl
540becdb35
only CR/LF changes
...
Change-Id: I77ca9b927b7bb875e831d0b3203791650f0edb8c
2017-05-12 16:57:29 +02:00
Axel Uhl
a0bdce9eed
use per-test separate exchange name and delete test exchange during tearDown
...
Change-Id: Ib2660fe79a2fae060d0c6d4c6c613fe1056e9428
2017-03-07 21:18:13 +01:00
Axel Uhl
d4d3b3d7fe
added FINE logging for operation replication and application
...
Change-Id: I1f1aa5a6a971be5de8adb3a5ba1cff48a44c8c14
2017-02-24 18:32:44 +01:00
Axel Uhl
68a1d7c827
manual tests for replicating only SecurityService successful; AdminConsole's ReplicationPanel adjusted to show replicables for master/replicas
...
Change-Id: I19dfab43b7bdc0bd771659d0a30ad8c34efc855b
2016-12-27 12:04:38 +01:00
Axel Uhl
d023b09f63
obtain replicables from master descriptor always
...
Change-Id: Ibc364f27b2835b8265b5db48f47988353f29c32c
2016-12-27 10:32:18 +01:00
Axel Uhl
39648df5dd
consolidated imports to avoid warnings
...
Change-Id: I6bf4db59684f5f11578590e67c520381672e26af
2016-12-24 00:14:02 +01:00
Axel Uhl
11d66f2fb5
use lambdas instead of if (isLoggable...) for efficient logging; use per-replicable listener de-registration
...
Change-Id: I516fdfab4daa10d4a162f08f66952275c43ad655
2016-12-22 15:34:44 +01:00
Axel Uhl
7126902cf2
adding set of replicables or their IDs to master and replica descriptors and passing through to ReplicationServlet
...
Change-Id: I51a70718d94b161e747f2a887028fdeeb996f21a
2016-12-22 14:32:47 +01:00
Axel Uhl
1f9da33705
added another bug 2465 TODO
...
Change-Id: Ibfefb163353b65e591e58283a0072f87d7d05218
2016-12-21 18:32:32 +01:00
Axel Uhl
ce82f413d3
adjusted comments and added TODOs for bug 2465
...
Change-Id: I6c86eee9a4974c4cd22241ab246a3a690075dd78
2016-12-21 18:26:40 +01:00
Axel Uhl
263a1c8ebc
modified logging when receiving a replication operation through HTTP
...
Change-Id: I246f9e09bb9ba3df52e211bdce4d4a1354a44ba4
2016-12-21 17:23:46 +01:00
Axel Uhl
852f114d84
using new ThreadPoolUtil to size and use and, where necessary, create thread pool executors so we reduce the amount of runnable threads
...
Change-Id: I56a9f68aca7b28dc28fbb096f6bfb6cb9dce35a9
2016-08-15 18:24:18 +02:00
Axel Uhl
6a458db1b3
reduced the size of our thread pools and use only one static thread pool for all leaderboard objects;
...
this is to give the garbage collection (GC) a chance to not get outperformed by the application threads
Change-Id: Ic7df09fbc4951539be479d27775916e262678fc5
2016-07-28 19:08:19 +02:00
Axel Uhl
5c350d6f8a
turned all Timer usages into daemon threads to ensure clean VM shut-down
...
Change-Id: I933cda5e4a9b6b5c9f7a7090e0dad9b00154bd35
2016-07-13 18:34:16 +02:00
Axel Uhl
16a4913e44
formatting, whitespace, refactoring in createBaseURL, always removing trailing slash from URL
...
Change-Id: Ib4a199e0f05d1cf4a58bed69943386d1ddb24fa6
2016-03-24 14:51:49 +01:00
Charlotte Proeller
8609c5ee4b
bug3534: use redirection also for Replication
2016-03-24 11:28:26 +01:00
Axel Uhl
bfb9ecb9b5
using java.net.URLEncoder.encode to encode UUID parameter to startToReplicateFrom method
...
Change-Id: I6af165b62a09fbd28d59830b3bf910ab34f985e7
2016-01-11 21:43:58 +01:00
Axel Uhl
44362206c9
audited and fixed reflective XSS vulnerabilities, mostly using StringEscapeUtils
...
Change-Id: If01b16aed1496818524b7b57528337f9c2bcbaa0
2016-01-08 09:48:37 +01:00
fmittag
b43786d728
- Implemented loading and storing of a 'isStandaloneServer' attribute of a new SailingServerConfiguration domain object.
...
- Implemented a tab in the admin console for showing static server information and dynamic server configuration
- refactoring of static BuildVersion class into more generic ServerInfo class
2015-09-02 00:37:41 +02:00
Axel Uhl
d4fce82053
handle unsetting of polar service properly in RacingEventServiceImpl; shut down replication master properly upon bundle stop
2015-07-28 17:49:10 +02:00
Axel Uhl
087be7f366
moved approximateNow into a new class ApproximateTime in shared.android where we can use Timer and TimerTask which are not GWT-compatible
2015-07-28 00:02:30 +02:00
Axel Uhl
78ff26a17e
introduced MillisecondsTimePoint.approximateNow() and used where now() is too expensive; re-typed now() to TimePoint
2015-07-27 22:48:09 +02:00
Axel Uhl
836aa730d6
close the master channel's connection, not the channel, to ensure that all threads associated with the RabbitMQ connection are released
2015-07-27 21:12:19 +02:00
Axel Uhl
dcc51367bb
adjusted message queue-based replication to LZ4 compression algorithm
2015-07-27 17:50:53 +02:00
Axel Uhl
d1a459c0e9
updated target platform to contain LZ4 compression algorithm; use it in replication code
2015-07-27 17:40:33 +02:00
Axel Uhl
565de22766
obtain replicable only once per queue to work off
2015-07-27 16:22:55 +02:00
Axel Uhl
663f333c94
catch null result from polling the message queue instead of trying to grab operation from a null result
2015-07-27 15:47:15 +02:00
Axel Uhl
4277652bf9
added more logging to replication; don't apply queues when initial load failed
2015-07-27 11:39:34 +02:00
Axel Uhl
06310451a3
use LinkedBlockingQueue for queued Operations and relaxed synchronization in lieu; flipped resuming of receiver and working down the queue
2015-07-25 23:07:52 +02:00
Axel Uhl
cb9bb714a6
fixed typo in logging statement; improved logging in case TrackedRaceImpl deserialization finds diff between course and internal structures;
...
fix internal TrackedRaceImpl structures before triggering maneuver analysis; resume replication queues only after having applied all its operations
so that new operations received while still applying queues have to wait
2015-07-25 20:34:26 +02:00
Axel Uhl
5a03c8392e
cleanly delete initial load queue when replication is stopped while initial load is running; catch Exception instead of IOException to also catch RuntimeExceptions
2015-07-25 14:25:16 +02:00
Axel Uhl
2cdbf55a41
added hashCode/equals to ReplicationMasterDescriptorImpl; maintain initial load handles per master to stop them when shutting down
2015-07-25 13:29:44 +02:00
Axel Uhl
d04c95bbaa
properly close the Rabbit connection after initial load which frees up the channel and its resources, particularly threads keeping the VM from shutting down
2015-07-24 18:31:52 +02:00
Axel Uhl
dc3c433081
upon Activator.stop() properly stop a running replication from master
2015-07-16 23:36:16 +02:00