-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Repository Cache Keep-Alive #29
Conversation
@andreaskring PR is not yet ready to be merged. Documentation of the new component is pending, and there is also some work to be done to correctly document / handle licenses of 3rd-party libraries for the keep-alive Uber JAR. One thing I would like to request of you is to try and run the Bash test script. As I mostly work on Windows, I have used the companion bat file for my local test. If you find any issues and need to correct the script, simply push those commits to the branch. |
I have tested the script and are in the process of correcting a few minor syntatical bugs (
|
As discussed in our meeting, you'll have to ensure to build the other sub-modules for Java 8 if you have previously built them for Java 11 by using the Alfresco 6.2.0 parent POM. That is one of the reasons why I don't want to upgrade the parent POM in general as it would remove backwards compatibility with other Alfresco versions on the count of the Java version. |
c27a21c
to
c7f9ada
Compare
I have run Another problem occurs though:
and inspecting the container logs gives:
|
@andreaskring Yeah - so looks like in this case the number of lines that the log tailing does is not sufficient or the timing of the exchange workers is just different than in my tests. Might need to increase the tailing to 12-15 lines instead of 6. Alternatively we/I might disable the extraneous WARN messages to have an easier reproducible logging experience for valdiation. |
Yes - right. I should have thought of that after what you explained to me at our meeting. I have made a few minor syntactical fixes to the bash script and will push these in a minute. |
- avoid excessive changes / updates in alf_prop_* tables - cover grid members without self-registration capability (keep-alive app) - diff + detect potential split grid scenarios (log warning) - consolidate IP finder of all sub-modules into common
- include OOTBee Support Tools in all integration test Docker setups
0443235
to
b71f73a
Compare
@andreaskring I consider this PR to be ready for merging. Documentation about the companion application has been added and both the basic Maven-integrated integration test as well as the separate, script-based start-stop integration test run successfully after accounting for the recent serialisation optimisations. I have created a separate issue to update our Docker / Kubernetes documentation and samples to also include the companion app, which may be done without hurry after the initial aldica release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool - let's merge it
This PR adds a new sub-module for a standalone Java application that can extend Repository-tier caches and keep their data alive even across complete restarts of all Repository-tier server nodes.
Adding this feature required some refactoring to consolidate more shared code / components within our sub-module for common code, as well as to introduce additional grid node attributes to determine a node's tier / role, in order to allow a security processor to validate the node is connecting to a grid of the correct tier and to allow registration handling to be processed by other nodes if a new node does not or can not handle it on its own.
With regards to member registration within the Alfresco database, this PR includes a change that breaks compatibility with existing registration data in existing installations due to restructuring the data stored via the AttributeService. As this module has not yet been released, such a change is considered unproblematic. The only effect of this change is that any previously stored registration data is effectively ignored / not used, and new registration data is stored in a different attribute.