Commit Graph
139 Commits
Author SHA1 Message Date
Axel Uhl 3100b97d7d fixed handling of X-Forwarded-For header in replication registration 2020-03-05 20:47:48 +01:00
Axel Uhl 2aa0848226 evaluate X-Forwarded-For header upon replica registration so as to obtain the true replica client IP address 2020-03-05 15:45:44 +01:00
Axel Uhl 1d6f743a79 bug5213: logging long-lasting connection attempts to RabbitMQ in ReplicationServiceImpl 2020-02-19 11:40:13 +01:00
Axel Uhl 692b1cb922 404 response for replica operation sent to master now causes re-send; always send in background thread 2020-02-05 17:37:05 +01:00
Axel Uhl e78285c2f4 changing replicate.restore.replicas default to true 2020-02-05 11:45:42 +01:00
Axel Uhl 493b958239 bug5194: implementation of replica persistence that works locally 2020-02-05 01:36:59 +01:00
Axel Uhl cc505f97d5 bug5194: added com.sap.sse.replication.persistence to store replica descriptors 2020-02-04 23:51:27 +01:00
Axel Uhl 41ab2673c4 bug5194: started by fixing a bad bug causing outbound messaging to stop;
when de-registering a replica that caused one or more replicables to no
longer be observed, the outbound queue was prematurely closed and set to
null. For example, if one replica replicated the full server and another
one only the SecurityService, and then the full replica was
unregistered, sending security-related operations stopped even though a
replica was still registered.
2020-02-04 18:45:53 +01:00
Axel Uhl 99a04487b1 bug5193: adjusting server group in UserStore after receiving initial load 2020-02-03 18:47:06 +01:00
Axel Uhl 12a41913a5 always log subject of replication requests; removed a few empty lines 2020-01-30 15:20:57 +01:00
Steffen Schaefer 9af986978a Merge branch 'master' into bug5085 2019-09-16 09:38:40 +02:00
Axel Uhl ec7006cf42 bug5117: distinguish between connectivity problems and application problems
Change-Id: I21848fbf243d63d3139036495ab2d58a6fd339a8
2019-09-12 16:04:10 +02:00
Axel Uhl cb73994802 started with a few interfaces that model course templates
Change-Id: I20019ab2e70de1f7b703900e1cf917a5a2daf3e4
2019-07-03 18:20:53 +02:00
Axel Uhl 68408848bc added support for REPLICATE_MASTER_BEARER_TOKEN as alternative to username/password
Change-Id: I6b08c54dd5cdcea323b51471681b81fa0ba786ae
2019-04-11 10:19:11 +02:00
Steffen Schaefer cfdd62eafb Bug 4963: Improved error handling in ReplicationServlet 2019-04-03 16:17:39 +02:00
Steffen Schaefer ef9c157f60 Setting proper content type in ReplicationServlet for INITIAL_LOAD to
prevent an exception on the replica side
2019-04-03 16:17:35 +02:00
Steffen Schaefer 4419dc8173 Bug 4963: Added documentation 2019-04-03 16:17:29 +02:00
Steffen Schaefer 4e433e2f98 Bug 4963: Replicator actions are now part of the SERVER security type 2019-04-03 13:15:53 +02:00
Steffen Schaefer 94bc243bbe Bug 4963: Implemented several permission checks regarding REPLICATOR on
master and replica side. UI permission checks are most probably not
consistent yet
2019-04-03 11:44:23 +02:00
Steffen Schaefer dfa652040e Bug 4963: Activated shiro in com.sap.sse.replication to be able to
implemen permission checks in ReplicationServlet/ReplicationServiceImpl
2019-04-03 10:29:41 +02:00
Steffen Schaefer 6c6ad3f63e Bug 4963: Using bearer token in several calls from replica to
ReplicationServlet on master
2019-04-03 10:10:56 +02:00
Steffen Schaefer 9f3c5e9dda Bug 4963: ReplicationMasterDescriptor is now aware of a bearer token.
The token is currently not given to remote calls and UI fields are
added.
2019-04-03 09:15:23 +02:00
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