Commit Graph
53 Commits
Author SHA1 Message Date
Wessels, Udo (PPN) 2b66121265 bug5910: remove not supported line in .project files so that current Eclipse version (2023-09) can import the projects. 2023-10-09 18:00:50 +02:00
Axel Uhl 5c4e2a6f2e fixed memory leak: replicated operations must be removed from the "sent" set 2023-01-10 14:04:54 +01:00
Axel Uhl 0260f11a22 bug5797: more cases of providing Charset to InputStreamReader constructor 2022-12-29 13:22:11 +01:00
Finn Huelsbusch d888c1fad9 added configuration for eclipse 2022-06 and updated the onboarding 2022-07-07 16:51:33 +02:00
Axel Uhl adc9bf77f9 bug5741: backward compatibility for replication protocol, protocol versioning for new protocol 2022-06-29 18:11:33 +02:00
Axel Uhl 80ca8bf3de bug5741: don't serialize replication operations into separate byte[] anymore 2022-06-16 17:58:52 +02:00
Axel Uhl 59cbdf1e15 bug5741: cache Class.forName results while reading all operations of one RabbitMQ message;
This avoids thousands of expensive Class.forName calls. Now, the next
most expensive thing is reading the class descripors from the stream.
2022-06-16 14:56:26 +02:00
Axel Uhl eac205459d bug5518: first attempt at keying asynchronous operations and queuing and running them in tasks per key 2022-04-25 18:15:11 +02:00
Axel Uhl 7c281e2d26 bug5311: fixed private IP address for default RabbitMQ so it works cross-region; removed archiveReplicaSet parameter from archiveReplicaSet(...) 2021-09-23 12:40:16 +02:00
Axel Uhl 0b863619d4 bug5611: upgraded RabbitMQ Java client to version 3.6.6 and use ConnectionFactory.setAutomaticRecoveryEnabled(true) 2021-08-01 09:20:14 +09:00
Axel Uhl 2c622e5b45 patched <!DOCTYPE projectDescription> into all project files to avoid info/warning in problems view about no grammar constraint 2021-06-19 12:45:03 +02:00
Axel Uhl edc1aeae0a bug5569: synchronizing the initialization of a server as "public" with the ReplicationService and skip if becoming a replica 2021-06-08 15:41:16 +02:00
Axel Uhl 9ac4a3250f bug5563: replication messages bound for RabbitMQ fanout exchange now go through a Deque with a thread implementing a re-try strategy 2021-05-30 23:09:08 +02:00
Axel Uhl ac765dca84 bug4811: place a new "port" field in version.json in the "start" script and use it for replica registration; added new port fields to replication status, for both, replicatedfrom and replicatedby 2021-04-20 16:33:50 +02:00
Axel Uhl 96f0dbed9a bug4811: refactored ReplicationServlet constants; started to implement stopping replicas when upgrading application replica set 2021-04-01 18:44:39 +02:00
Axel Uhl 3ff5704b96 bug4811: implemented delete_ssh_key DELETE method on LandscapeResource 2021-02-09 16:24:10 +01:00
Axel Uhl a394078bae bug4811: added AwsLandscapeStateImpl to OSGi registry in activator; added Javadoc to Replicable 2021-02-09 15:36:09 +01:00
Axel Uhl c7cdfc8200 bug4811: moved AbstractReplicableWithObjectInputStream to com.sap.sse.replication.interfaces and used throughout 2021-02-09 14:07:07 +01:00
Axel Uhl c7528905b7 bug4811: enhanced /gwt/status and /replication/replication?action=STATUS output and use it for application replica set assembly;
/replication/replication?action=STATUS no longer requires the READ_REPLICATOR permission;
its output was contained in the free-to-air /gwt/status output already, so no use in
this additional check
2021-01-08 17:30:00 +01:00
Axel Uhl d86b38ddb5 bug5221: fixing the obtaining of the OutputStream for sending a replica-initiated operation to master 2020-09-11 17:50:10 +02:00
Georg Herdt 0af6b2139b fixing todo in code, using HttpUrlConnectionHelper instead. Adding content type as optional argument into helper method.
bug 5221
2020-08-18 16:24:03 +02:00
Axel Uhl 5a6f14e810 bug5221: adjusted AbstractServerReplicationTestSetUp such that it handles the POST requests for replication operations properly now 2020-07-07 01:13:46 +02:00
Axel Uhl 9cd55da515 extend the timeout waiting for the security service from 2 to 3 minutes during tests 2020-04-28 10:34:03 +02:00
Axel Uhl 9fe970dc15 added a warning about not using lambdas for OperationWithResult implementations 2020-03-24 13:18:43 +01: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 41b7111335 improved replication Javadocs 2020-03-24 12:43:15 +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 177c07798f fixed waiting problem (aftermath of bug4006) where latch.await(0) returns immediately 2020-03-18 17:33:24 +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 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 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 cc505f97d5 bug5194: added com.sap.sse.replication.persistence to store replica descriptors 2020-02-04 23:51:27 +01:00
Axel Uhl c94c1b69ad Merge branch 'master' into bug2842
Change-Id: Id6a9174ff0790b8344d0e146500bb54bf4ed4779
2019-09-13 18:31:17 +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 0b3fb3aea5 removed obsolete TODO
Change-Id: Iea21f417e0f2677899e617407b8666b618191e55
2019-09-12 14:43:40 +02:00
Axel Uhl 89e8bef9c8 Revert "removed PluginNature from our OSGi bundles; they are not Eclipse plugins";
according to https://bugs.eclipse.org/bugs/show_bug.cgi?id=544977#c21 the
scenario of using the ManifestBuilder without setting the PluginNature is
not a supported scenario. Besides, it doesn't help to get rid of the new
Eclipse warning regarding non-exported packages.

This reverts commit 063484e29f.
2019-05-28 21:54:20 +02:00
Axel Uhl 063484e29f removed PluginNature from our OSGi bundles; they are not Eclipse plugins 2019-05-27 22:53:30 +02:00
Steffen Schaefer 09290d2425 Bug 4963: Using a proper mime type for sending operations from replica
to master. Now that shiro is active for ReplicationServlet, the
unspecified content type caused exceptions while parsing the content.
2019-04-03 17:26:15 +02:00
Steffen Schaefer 5a51aef645 Bug 4963: Fixed sending operations from a replica to the master 2019-04-03 16:52:40 +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 7bfddc6926 refactored User-related methods on SecurityService to avoid sending User objects through replication operations;
this way, no patching of the userGroupProvider property after
de-serialization is necessary, and no replacement of a User object in
the UserStore should ever happen.

Change-Id: I23a8ae53b6a53ca89a2a0b8a11dc779f4034db57
2019-02-21 13:21:04 +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 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 0b1f049496 reverted problematic use of POST in HttpUrlConnectionHelper introduced in bce05a434cb732390dab69aae3d3fcb26218153c;
can't write after having read

Change-Id: Icde37667bb4c6292416bcc761a59c0d91a62517a
2019-01-22 00:19:00 +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 548b437cde don't forward exception during sending replication operation to master, only log; better log message
Change-Id: I9afe7860cab381ccab3aed91e11b631903ebced9
2019-01-18 14:08:01 +01:00