Commit Graph
55 Commits
Author SHA1 Message Date
Axel Uhl 1d6f743a79 bug5213: logging long-lasting connection attempts to RabbitMQ in ReplicationServiceImpl 2020-02-19 11:40:13 +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
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 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 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 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 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
Steffen Schaefer 9123771f34 normalized line endings 2017-05-16 09:42:02 +02: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 ce82f413d3 adjusted comments and added TODOs for bug 2465
Change-Id: I6c86eee9a4974c4cd22241ab246a3a690075dd78
2016-12-21 18:26:40 +01: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
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 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 4277652bf9 added more logging to replication; don't apply queues when initial load failed 2015-07-27 11:39:34 +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 6fd6c5a762 solving bug 3015 according to comment #12; only the replicables requested by the system property will have initialLoad requested and will be waited for 2015-06-29 13:44:54 +02:00
Axel Uhl 22d8f8a65b make sure that the replicables list used for URL construction is the same as the one for de-serializing the replicables 2015-06-28 13:00:44 +02:00
Axel Uhl 03074f3f28 resume replicator to apply queued messages even if there has been an exception for one of the replicables 2015-06-28 12:14:17 +02:00
Axel Uhl e991a9b53b always use the same order of replicables in startToReplicateFrom for all aspects of iterating over them 2015-06-28 12:06:04 +02:00
Axel Uhl 9001649b99 fixed waiting on Replicator's queue to become empty; this avoids the AlreadyClosedExceptions, it seems, but the testWindSourcesToExcludeReplication test still fails locally 2015-03-30 11:50:48 +02:00
Axel Uhl 1b048d23e0 improved logging in case of exceptions during initial load 2015-02-05 03:34:11 +01:00
Axel Uhl 7181b2ecf9 fixing grave bug with replication: replicator was being resumed after receiving *first* initial load, but we need to wait until after the *last* initial load 2014-12-12 07:41:20 +01:00
Axel Uhl 8e7ab908e7 replicate operations initiated on replica to master and ignore them when they come back to that replica; see bug 2408 2014-11-29 23:50:06 +01:00
Axel Uhl 22d9ecdd3b working on bug 2408, adding an implementation that has the replica side of serializing an operation to the master through an HTTP request 2014-11-28 18:12:09 +01:00
Axel Uhl 6956567574 refactored AbstractRaceChangeListener so that subclasses can provide a defaultAction() implementation; in preparation of solving bug 2473. 2014-11-20 09:58:11 +01:00
Axel Uhl ffea760069 avoid premature replication listener registration when no replica is currently registered 2014-11-17 14:58:17 +01:00
Axel Uhl 59803c533c use Replicable.writeOperation in ReplicationServiceImpl 2014-11-14 13:06:08 +01:00
Axel Uhl 29db1e0858 fixed initial load serialization for replication tests 2014-11-14 00:21:16 +01:00
Axel Uhl a808d78d14 all compile errors removed in Eclipse workspace for bug2409; now it's time for testing... 2014-11-13 23:51:45 +01:00
Axel Uhl bb5a16e1ac major refactoring introducing tagging the replication streams with the Replicable IDs and introducing a new URL parameter for the initial load servlet request 2014-11-13 23:06:05 +01:00
Axel Uhl 61320d9428 added admin console module inherits to TvView.gwt.xml 2014-11-12 14:33:50 +01:00