db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2921) Replication: Add a network service that connects the master and slave Derby instances
Date Mon, 30 Jul 2007 06:13:53 GMT

     [ 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.


Mime
View raw message