[ 
https://issues.apache.org/jira/browse/DERBY-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512003
 ] 

Jørgen Løland commented on DERBY-2921:
--------------------------------------

Hi Narayanan

I noticed that the code attached to DERBY-2852 contains a network communication 
service. If I remember correctly, it can be used to send any kind of object by 
wrapping it in a NetworkPayload object. I think you should have a look at these 
files and see if they can be used here with some modification:

A      java/engine/org/apache/derby/impl/services/net
A      java/engine/org/apache/derby/impl/services/net/NetworkPayload.java
A      java/engine/org/apache/derby/impl/services/net/receiver/LogReceiver.java
A      java/engine/org/apache/derby/impl/services/net/shipper/LogShipper.java

I agree that you should focus on the basic functionality for now. But SSL will 
very likely be required at some point, so you should definately have that in 
mind when working on this. DERBY-2852 does not use SSL, and I am not sure if it 
is easily pluggable either. 

A lot of issues regarding the network communication were discussed in 
DERBY-2872; make sure you are up to date on these. Especially the need for a 
handshake phase before the slave accepts incoming log records. It may also be 
the case that a master/slave connection is lost at some point in time. The 
network code should probably try to reconnect when this happens. Of course, the 
slave will have to understand that this is the same master that tries to 
reconnect.

> Replication: Add a network service that connects the master and slave Derby 
> instances
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-2921
>                 URL: https://issues.apache.org/jira/browse/DERBY-2921
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: V.Narayanan
>
> A network connection is required between the master and slave Derby instances 
> of a replicated database. The connection will be used to send many kinds of 
> messages, including:
> * log records
> * the database (when replication is started)
> * master -> slave commands (like "stop replication")

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to