Jump to content
OpenSplice DDS Forum
aphelix

Doesn't work on two machines.

Recommended Posts

Hi.
I'am currently trying "OpenSplice version : V5.5.1OSS".

I have 2 apps. One sends a very basic topic to other. If two apps run on same machine. Everything seems alright. But if they work on different
machines, messages cannot be sent.

My configuration file ospl.xml

OpenSplice>
   <Domain>
      <Name>OpenSpliceV5.5.1OSS</Name>
      <Database>
         <Size>10485760</Size>
      </Database>
      <Lease>
         <ExpiryTime update_factor="0.05">60.0</ExpiryTime>
      </Lease>
      <Service name="networking">
         <Command>networking</Command>
      </Service>
      <Service name="durability">
         <Command>durability</Command>
      </Service>
   </Domain>
   <NetworkService name="networking">
      <Partitioning>
         <GlobalPartition Address="broadcast"/>
      </Partitioning>
      <Channels>
         <Channel default="true" enabled="true" name="BestEffort" reliable="false">
            <PortNr>53370</PortNr>
         </Channel>
         <Channel enabled="true" name="Reliable" reliable="true">
            <PortNr>53380</PortNr>
         </Channel>
      </Channels>
      <Discovery enabled="true">
         <PortNr>53390</PortNr>
      </Discovery>
   </NetworkService>
   <DurabilityService name="durability">
      <Network>
         <InitialDiscoveryPeriod>2.0</InitialDiscoveryPeriod>
         <Alignment>
            <TimeAlignment>FALSE</TimeAlignment>
            <RequestCombinePeriod>
               <Initial>2.5</Initial>
               <Operational>0.1</Operational>
            </RequestCombinePeriod>
         </Alignment>
         <WaitForAttachment maxWaitCount="10">
            <ServiceName>networking</ServiceName>
         </WaitForAttachment>
      </Network>
      <NameSpaces>
        <NameSpace name="defaultNamespace">
          <Partition>*</Partition>
        </NameSpace>
        <Policy nameSpace="defaultNamespace" durability="Durable" alignee="Initial" aligner="True"/>
      </NameSpaces>
      <Persistent>
          <StoreDirectory>/opt/dps/rdb</StoreDirectory>
      </Persistent>
   </DurabilityService>
</OpenSplice>

What is the problem ? Thanks...

 

Share this post


Link to post
Share on other sites

You're using a 8-years old release, so I'd suggest to migrate to 6.9.

Anyhow, I see you didn't configure a networkInterfaceAddress (to be configured in the 'General' section of the NetworkService) so you're probably not using the correct interface adapter.

 

Share this post


Link to post
Share on other sites

Hi Hans..

Unfortunately the problem is still continue. To be more clear;

I am using opensplice ver5.5

I.   HelloWorld example in HDE directory also does not work. :( But it works if i run them in same machine.
II.  2 machine are virtual(vmware) on win7 and network types are bridge.
III. I can test udp broadcast via socat app (port 53370 53380 53390). And it is working in both direction for 2 machines.
IV. NetworkInterfaceAdress property is not exist in ospl.xml. But ospl_ddsi2.xml contains it. i changed it as you said. (Adding eth0 value)
V. In addition, I've also add   this tag block into ospl.xml
<General>
         <NetworkInterfaceAddress>eth0</NetworkInterfaceAddress>
         <AllowMulticast>false</AllowMulticast>
         <EnableMulticastLoopback>true</EnableMulticastLoopback>
         <CoexistWithNativeNetworking>true</CoexistWithNativeNetworking>
</General>


Here, my configuration files.

ospl.xml

<OpenSplice>
   <Domain>
      <Name>OpenSpliceV5.5.1OSS</Name>
      <Database>
         <Size>10485760</Size>
      </Database>
      <Lease>
         <ExpiryTime update_factor="0.05">60.0</ExpiryTime>
      </Lease>
      <Service name="networking">
         <Command>networking</Command>
      </Service>
      <Service name="durability">
         <Command>durability</Command>
      </Service>
   </Domain>
   <NetworkService name="networking">
      <Partitioning>
         <GlobalPartition Address="broadcast"/>
      </Partitioning>
      <Channels>
         <Channel default="true" enabled="true" name="BestEffort" reliable="false">
            <PortNr>53370</PortNr>
         </Channel>
         <Channel enabled="true" name="Reliable" reliable="true">
            <PortNr>53380</PortNr>
         </Channel>
      </Channels>
      <Discovery enabled="true">
         <PortNr>53390</PortNr>
      </Discovery>
   </NetworkService>
   <DurabilityService name="durability">
      <Network>
         <InitialDiscoveryPeriod>2.0</InitialDiscoveryPeriod>
         <Alignment>
            <TimeAlignment>FALSE</TimeAlignment>
            <RequestCombinePeriod>
               <Initial>2.5</Initial>
               <Operational>0.1</Operational>
            </RequestCombinePeriod>
         </Alignment>
         <WaitForAttachment maxWaitCount="10">
            <ServiceName>networking</ServiceName>
         </WaitForAttachment>
      </Network>
      <NameSpaces>
        <NameSpace name="defaultNamespace">
          <Partition>*</Partition>
        </NameSpace>
        <Policy nameSpace="defaultNamespace" durability="Durable" alignee="Initial" aligner="True"/>
      </NameSpaces>
   </DurabilityService>
</OpenSplice>


********************************************************************************************************


ospl_ddsi2.xml


<OpenSplice>
   <Domain>
      <Name>OpenSpliceV5.5_with_DDSI2</Name>
      <Database>
         <Size>10485760</Size>
      </Database>
      <Service name="ddsi2">
         <Command>ddsi2</Command>
      </Service>
      <Service name="durability">
         <Command>durability</Command>
      </Service>
   </Domain>
   <DDSI2Service name="ddsi2">
      <General>
         <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress>
         <AllowMulticast>true</AllowMulticast>
         <EnableMulticastLoopback>true</EnableMulticastLoopback>
         <CoexistWithNativeNetworking>false</CoexistWithNativeNetworking>
      </General>
      <Compatibility>
         <!-- see the release notes and ospl_ddsi2_interoperable.xml -->
     <StandardsConformance>strict</StandardsConformance>
      </Compatibility>
      <Discovery>
         <DomainId>0</DomainId>
      </Discovery>
   </DDSI2Service>
   <DurabilityService name="durability">
      <Network>
         <InitialDiscoveryPeriod>10.0</InitialDiscoveryPeriod>
         <Alignment>
            <TimeAlignment>false</TimeAlignment>
            <RequestCombinePeriod>
               <Initial>2.5</Initial>
               <Operational>0.1</Operational>
            </RequestCombinePeriod>
         </Alignment>
         <WaitForAttachment maxWaitCount="1000">
            <ServiceName>ddsi2</ServiceName>
         </WaitForAttachment>
      </Network>
      <NameSpaces>
         <NameSpace name="defaultNamespace">
            <Partition>*</Partition>
         </NameSpace>
         <Policy alignee="Initial" aligner="true" durability="Durable" nameSpace="defaultNamespace"/>
      </NameSpaces>
   </DurabilityService>
</OpenSplice>

*****************************************************************************************

ospl_ddsi2_with_native.xml

<OpenSplice>
   <Domain>
      <Name>OpenSpliceV5.5_DDSI2_cohabitation</Name>
      <Database>
         <Size>10485760</Size>
      </Database>
      <Service name="ddsi2">
         <Command>ddsi2</Command>
      </Service>
      <Service name="networking">
         <Command>networking</Command>
      </Service>
      <Service name="durability">
         <Command>durability</Command>
      </Service>
   </Domain>
   <NetworkService name="networking">
      <Partitioning>
         <GlobalPartition Address="broadcast"/>
      </Partitioning>
      <Channels>
         <Channel default="true" enabled="true" name="BestEffort" reliable="false">
            <PortNr>53340</PortNr>
         </Channel>
         <Channel enabled="true" name="Reliable" reliable="true">
            <PortNr>53350</PortNr>
         </Channel>
      </Channels>
      <Discovery enabled="true">
         <PortNr>53360</PortNr>
      </Discovery>
   </NetworkService>
   <DDSI2Service name="ddsi2">
      <General>
         <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress>
         <AllowMulticast>true</AllowMulticast>
         <EnableMulticastLoopback>true</EnableMulticastLoopback>
         <CoexistWithNativeNetworking>true</CoexistWithNativeNetworking>
      </General>
      <Compatibility>
         <!-- the following are necessary for general, well-behaved interoperability -->
     <StandardsConformance>lax</StandardsConformance>
         <!-- the following one is necessary only for TwinOaks CoreDX DDS compatibility -->
         <ExplicitlyPublishQosSetToDefault>true</ExplicitlyPublishQosSetToDefault>
      </Compatibility>
      <Discovery>
         <DomainId>0</DomainId>
      </Discovery>
   </DDSI2Service>
   <DurabilityService name="durability">
      <Network>
         <InitialDiscoveryPeriod>10.0</InitialDiscoveryPeriod>
         <Alignment>
            <TimeAlignment>false</TimeAlignment>
            <RequestCombinePeriod>
               <Initial>2.5</Initial>
               <Operational>0.1</Operational>
            </RequestCombinePeriod>
         </Alignment>
         <WaitForAttachment>
            <ServiceName>networking</ServiceName>
            <ServiceName>ddsi2</ServiceName>
         </WaitForAttachment>
      </Network>
      <NameSpaces>
         <NameSpace name="defaultNamespace">
            <Partition>*</Partition>
         </NameSpace>
         <Policy alignee="Initial" aligner="true" durability="Durable" nameSpace="defaultNamespace"/>
      </NameSpaces>
   </DurabilityService>
</OpenSplice>


*******************************************************************************

ospl_no_network.xml

<OpenSplice>
    <Domain>
        <Name>OpenSpliceV5.5.1OSS</Name>
        <Database>
            <Size>10485670</Size>
        </Database>
    <Lease>
            <ExpiryTime update_factor="0.05">60.0</ExpiryTime>
        </Lease>
        <Service name="durability">
            <Command>durability</Command>
        </Service>
    </Domain>

    <DurabilityService name="durability">
        <Network>
            <InitialDiscoveryPeriod>2.0</InitialDiscoveryPeriod>
            <Alignment>
                <RequestCombinePeriod>
                    <Initial>2.5</Initial>
                    <Operational>0.1</Operational>
                </RequestCombinePeriod>
            </Alignment>
        </Network>
        <NameSpaces>
          <NameSpace name="defaultNamespace">
            <Partition>*</Partition>
          </NameSpace>
          <Policy nameSpace="defaultNamespace" durability="Durable" alignee="Initial" aligner="True"/>
        </NameSpaces>
    </DurabilityService>
</OpenSplice>


I would be very glad if you help me!!!!

Thanks....
 

Share this post


Link to post
Share on other sites

Another interesting record in ospl-info.log

 

Internals   : V5.5.1OSS/DurabilityService/d_durability.c/459/0/187549406
========================================================================================
Report      : WARNING
Date        : Wed May 29 23:10:13 2019
Description : No heartbeats received from Node 0x194785ff (address 192.168.1.26)
Node        : debian
Process     : networking <2133>
Thread      : Channels/Channel[@name='Reliable'] b6d29b40
Internals   : V5.5.1OSS/networking: reliable protocol/nw_plugSendChannel.c/2599/0/332348345
========================================================================================
Report      : WARNING
Date        : Wed May 29 23:10:13 2019
Description : Node 0x194785ff (address 192.168.1.26) not responding or no heartbeats received, removing it from the reliable protocol
Node        : debian
Process     : networking <2133>
Thread      : Channels/Channel[@name='Reliable'] b6d29b40

:(

Share this post


Link to post
Share on other sites

well .. in 6.9, at least the deployment-model is 'fixed' i.e. using the standardized DDSI wire-protocol i.c.w. 'standalone' (non-federated) applications.

Just make sure that multicast is supported/available on all connected machines and assure that the correct network-interface is configured (default is 'auto' which might not always result in the correct interface for multi-homed machines)

Good luck ..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...