Hi!

I have a some questions related to some previous discussion on network 
partitions 
(http://dev.opensplice.org/pipermail/developer/2012-January/001234.html). 
I'm trying to use network partitions to limit the visibility of certain topics 
to certain OpenSplice nodes only. I'm using OpenSplice 5.4.1 on a Linux system.


I have a "writer" application with the following characteristics:

- topic T with DurabilityQosPolicy.kind=TRANSIENT_DURABILITY_QOS and 
HistoryQosPolicy.history_kind=KEEP_LAST_HISTORY_QOS and history_depth=1.
- publishers PUB1 and PUB2 publishing to partitions "part1" and "part2", 
respectively,
- data writers DW1 created with PUB1 and DW2 created with PUB2.

In my domain configuration, I have configured "Partitioning" as follows:
<Partitioning>
    <GlobalPartition Address=239.255.0.0"/>
    <NetworkPartitions>
        <NetworkPartition Address="239.255.0.1" Connected="true" Name="net1"/>
        <NetworkPartition Address="239.255.0.2" Connected="true" Name="net2"/>
    </NetworkPartitions>
    <PartitionMappings>
        <PartitionMapping DCPSPartitionTopic="part1.*" NetworkPartition="net1"/>
        <PartitionMapping DCPSPartitionTopic="part2.*" NetworkPartition="net2"/>

    </PartitionMappings>
</Partitioning>


My test scenario is the following:
1. Start test domain in node N1.
2. Start "writer" application in N1. 
3. Write some samples to topic T's instances to both partitions "part1" and 
"part2". This data becomes "historical data" for N2, when it is started.
4. Start test domain in node N2.

Investigating the network traffic generated by OpenSplice, I made these 
observations:
1. After the startup of test domain in node N2, N1 sends UDP-packets to address 
239.255.0.0, which is the GlobalPartitionAddress. These packets contain the 
samples written to both partitions "part1" and "part2". In contrast to the 
observations made in 
(http://dev.opensplice.org/pipermail/developer/2012-January/001234.html), data 
seems to flow from N1 to N2 even though no readers with matching QoS are 
started on N2.
2. Historical data written to logical partitions "part1" and "part2" in N1 is 
written to GlobalPartitionAddress instead of writing partion part1's data to 
"net1"/239.255.0.1 and partition part2's data to "net2"/239.255.0.2, as 
expected from the domain configuration.


If I continue writing some more samples on N1 after starting the domain in N2, 
then the new samples that belong to the logical partition "part1" are written 
to "net1" and samples that belong to logical partition "part2" are written to 
"net2", as expected. 


In conclusion, it seems that the PartitionMappings are ignored in domain 
startup and historical data synchronization, but used in normal operation.


Please verify the validity of my observations, since this will have an impact 
on the applicability of network partitions in my inteded use case.


Regards,
Jukka-Pekka


_______________________________________________
OpenSplice DDS Developer Mailing List
Developer@opensplice.org
Subscribe / Unsubscribe http://dev.opensplice.org/mailman/listinfo/developer

Reply via email to