[ 
https://issues.apache.org/jira/browse/OAK-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Parvulescu updated OAK-1915:
---------------------------------

    Attachment: oak-tarmk-failover.patch

attaching proposed patch. There is a small change in oak-core that I've 
included in the patch so it it easier to get some initial feedback, but I'd 
really like to commit the change upfront so it would be easier to work with the 
code.

The patch introduces a new module in oak: oak-tarmk-failover.
The idea behind it is that the slave will periodically poll the master for the 
head state recordid. If this changed then a diff will be triggered which will 
replace the state on the slave node. As the diff traverses  down the content 
tree, each segment request that is not available locally will translate into a 
network request, followed by a local save.

The project also includes OSGi support, the service is activated by adding a 
config file.

Todos (some of them also mentioned in the readme file)
 - still WIP so the code will probably change a bit
 - some issues with the OSGi slave service, there are some repo restarts not 
sure why yet
 - timeout handling doesn't cover everything on both server and slave
 - error handling on the slave still has some issues (the slave hangs)
 - maybe enable compression of the segments over the wire 
 - maybe add a checksum to the segment encoder/decoder to verify the integrity 
of the transfer
  - slave runmode could possibly be a read-only mode (no writes permitted)

 

> TarMK failover 2.0
> ------------------
>
>                 Key: OAK-1915
>                 URL: https://issues.apache.org/jira/browse/OAK-1915
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: segmentmk
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>         Attachments: oak-tarmk-failover.patch
>
>
> This issue will track the implementation of the TarMK failover support.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to