Alessandro Stoltenberg
d0673be9bc
Added check for empty bearer token in replication activator.
2020-05-15 14:29:34 +02:00
Axel Uhl
744e682dca
use writeJSONString(Writer) to save memory and produce less garbage
2020-04-27 18:19:16 +02:00
Axel Uhl
6bd4c9239e
consistently use Replicable's operation type parameter for apply(...) method parameter
2020-03-24 13:08:20 +01:00
Axel Uhl
c35c3192b5
Merge remote-tracking branch 'origin/master'
2020-03-22 14:42:43 +01:00
Axel Uhl
6820bc780d
improved replication logging by telling the exception message in case an operation cannot be sent to the server
2020-03-22 14:42:16 +01:00
Axel Uhl
21032c4e8d
fixed ORC certificate loading for DH / non-ORC certificates
2020-03-21 16:34:56 +01:00
Axel Uhl
bad0bd975a
bug4006 aftermath: defer waiting for SecurityService in RacingEventService until it's really needed
2020-03-20 13:21:13 +01:00
Axel Uhl
101675b41e
Merge branch 'master' into bug4006
2020-03-11 11:30:10 +01:00
Axel Uhl
d0960f95c4
log exceptions during start-up of automatic replication in activator
2020-03-08 00:17:07 +01:00
Axel Uhl
39608e3f6c
bug4006: in RacingEventService wait for fully-initialized SecurityService and SharedSailingData;
...
introduced an observer pattern that is used in case the
ReplicationService is still in the process of starting, waiting for
initial loads to complete. Only when the initial loads have completed,
the service references will be returned.
2020-03-06 18:48:30 +01:00
Axel Uhl
b87a5fb02b
Merge branch 'master' into bug4006
2020-03-06 17:48:41 +01:00
Axel Uhl
0b167e6bdd
improved logging in case an operation received from a replica cannot be de-serialized
2020-03-06 17:48:03 +01:00
Axel Uhl
fd32fcc2da
fixing bug regarding serialization of MarkImpl in operations for SharedSailingDataImpl;
...
those don't de-serialize properly because a MarkImpl expects to be
de-serialized in a stream that resolves using a SharedDomainFactory
object.
2020-03-06 17:28:35 +01:00
Axel Uhl
4747c8f331
bug4006: started to introduce a ReplicationStartingListener on ReplicationService
2020-03-06 16:11:55 +01:00
Axel Uhl
a18d9de352
report actual replication operation class for wrappers; use single volatile boolean flag for initial load state instead of ThreadLocal
2020-03-06 01:32:48 +01:00
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