[
https://issues.apache.org/jira/browse/DERBY-2921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
V.Narayanan updated DERBY-2921:
-------------------------------
Attachment: Replication_Network_v1.stat
Replication_Network_v1.diff
This patch contains the implementation of the Socket
server and the socket client that will be used to
communicate between the Master and the slave, during
replication.
The code will not be in derby.jar for now, but will
be compiled in the classes directory. The class will
be used by the replication master service which will
contain a reference to these network classes. This will
automatically be picked up and bundled into derby.jar once
the master service is in place. The dependency detection
is at present being done by a class called classlister.java.
This class takes care of building the file derby.list that
contains the list of all the classes that will be in derby.jar.
Pls find below a file by file explanation of the classes that
have been added or modified.
A java/engine/org/apache/derby/impl/services/replication
A java/engine/org/apache/derby/impl/services/replication/net
The directory that contains the Network classes. As pointed
out in Derby-2977 a Replication Master controller will be
started as a service. This replication service and all the
related classes will be placed in the services package under
a sub-package called replication.
Since this issue basically handles the network utility classes
that will be used by the replication framework, this is placed
under a sub-package of replication called net.
A
java/engine/org/apache/derby/impl/services/replication/net/ReplicationMessageTransmit.java
The Transmitter is basically a client socket that takes care of sending
the messages to the receiver. This will be used by the master to send
log records and other messages to the slave.
A
java/engine/org/apache/derby/impl/services/replication/net/ReplicationMessageReceive.java
The Receiver is a server socket that takes care of receiving the messages
that are sent by the transmitter. This will be used in the slave for
receiving the log records and other messages. This will receive the messages
and pass them on to the other classes that will perform appropriate
action with them.
A
java/engine/org/apache/derby/impl/services/replication/net/OpenSocketAction.java
This class has been designed along the same lines as
org.apache.derby.client.net.OpenSocketAction the only difference being
that it does not have ssl enabled socket creation ability for now.
If this is required this can be added in the same lines of the original
class at a later stage.
A
java/engine/org/apache/derby/impl/services/replication/net/ReplicationMessage.java
The generic message unit that is sent between the master and the slave.
M java/engine/org/apache/derby/loc/messages.xml
M java/shared/org/apache/derby/shared/common/reference/SQLState.java
The SQLState for the exceptions that are thrown when a exception
occurs during Replication and their corresponding messages.
> 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
> Attachments: Replication_Network_v1.diff, Replication_Network_v1.stat
>
>
> 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.