You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Sergey Kozlov <sk...@gridgain.com> on 2017/01/09 09:25:37 UTC

Extend TcpDiscoveryVmIpFinder functionality

Hi Igniters

I found that TcpDiscoveryVmIpFinder could be improved for Spring
configuration by introducing new format: *address/mask:port(port range) or
address/prefix:port(port range)*. From my standpoint it will reduce the
efforts for ignite deployment and administration.
For instance if we've a dedicated network for the grid and not able to use
multicast way we should put each IP to the address list:

<property name="ipFinder">
  <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
    <property name="addresses">
      <list>
        <value>10.0.0.1:48500</value>
        <value>10.0.0.2:48500</value>
        <value>10.0.0.3:48500</value>
        ...
        <value>10.0.0.100:48500</value>
      </list>
    </property>
  </bean>
</property>

but can be simplified to

1) with using of the netmask

<property name="ipFinder">
  <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
    <property name="addresses">
      <list>
        <value>10.0.0.1/255.255.255.0:48500</value>
      </list>
    </property>
  </bean>
</property>

2) with using of the network prefix

<property name="ipFinder">
  <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
    <property name="addresses">
      <list>
        <value>10.0.0.1/24:48500</value>
      </list>
    </property>
  </bean>
</property>

Any comments/objections are welcome


-- 
Sergey Kozlov

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Yakov Zhdanov <yz...@apache.org>.
I would prefer simple range notation with ".." - 192.168.0.1..192.168.2.100

For all other cases user may implement their own IP finder or initialize IP
finders we provide programmatically.

--Yakov

2017-01-12 11:37 GMT+03:00 Sergey Kozlov <sk...@gridgain.com>:

> Denis
>
> The initial idea was to have a simple ability to put ip address ranges.
> Probably we need to google how other products implement ip address ranges
> in its (Spring) configurations.
>
> On Thu, Jan 12, 2017 at 1:28 AM, Denis Magda <dm...@apache.org> wrote:
>
> > If to do this as flexible as possible we can support ranges for every
> byte
> > applying a format like the one below.
> >
> > 10.0.0.[1-10]
> > [10-11].0.0.[1-10]
> > 128.[165-165].10.[1-100]
> >
> > What do you think?
> >
> > —
> > Denis
> >
> > > On Jan 10, 2017, at 3:08 AM, Sergey Kozlov <sk...@gridgain.com>
> wrote:
> > >
> > > I like the idea to use the full range notation like
> 10.0.0.1..10.0.0.100.
> > > One issue we may face is the using of the addresses from different
> > networks
> > > like 10.0.0.201..10.0.1.100.
> > >
> > > On Tue, Jan 10, 2017 at 1:35 PM, Yakov Zhdanov <yz...@apache.org>
> > wrote:
> > >
> > >> Guys, before I file a ticket - should we support range notation for
> each
> > >> byte in IP address? I think we should.
> > >>
> > >> --Yakov
> > >>
> > >
> > >
> > >
> > > --
> > > Sergey Kozlov
> > > GridGain Systems
> > > www.gridgain.com
> >
> >
>
>
> --
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com
>

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Sergey Kozlov <sk...@gridgain.com>.
Denis

The initial idea was to have a simple ability to put ip address ranges.
Probably we need to google how other products implement ip address ranges
in its (Spring) configurations.

On Thu, Jan 12, 2017 at 1:28 AM, Denis Magda <dm...@apache.org> wrote:

> If to do this as flexible as possible we can support ranges for every byte
> applying a format like the one below.
>
> 10.0.0.[1-10]
> [10-11].0.0.[1-10]
> 128.[165-165].10.[1-100]
>
> What do you think?
>
> —
> Denis
>
> > On Jan 10, 2017, at 3:08 AM, Sergey Kozlov <sk...@gridgain.com> wrote:
> >
> > I like the idea to use the full range notation like 10.0.0.1..10.0.0.100.
> > One issue we may face is the using of the addresses from different
> networks
> > like 10.0.0.201..10.0.1.100.
> >
> > On Tue, Jan 10, 2017 at 1:35 PM, Yakov Zhdanov <yz...@apache.org>
> wrote:
> >
> >> Guys, before I file a ticket - should we support range notation for each
> >> byte in IP address? I think we should.
> >>
> >> --Yakov
> >>
> >
> >
> >
> > --
> > Sergey Kozlov
> > GridGain Systems
> > www.gridgain.com
>
>


-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Denis Magda <dm...@apache.org>.
If to do this as flexible as possible we can support ranges for every byte applying a format like the one below.

10.0.0.[1-10]
[10-11].0.0.[1-10]
128.[165-165].10.[1-100]

What do you think?

—
Denis
 
> On Jan 10, 2017, at 3:08 AM, Sergey Kozlov <sk...@gridgain.com> wrote:
> 
> I like the idea to use the full range notation like 10.0.0.1..10.0.0.100.
> One issue we may face is the using of the addresses from different networks
> like 10.0.0.201..10.0.1.100.
> 
> On Tue, Jan 10, 2017 at 1:35 PM, Yakov Zhdanov <yz...@apache.org> wrote:
> 
>> Guys, before I file a ticket - should we support range notation for each
>> byte in IP address? I think we should.
>> 
>> --Yakov
>> 
> 
> 
> 
> -- 
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com


Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Sergey Kozlov <sk...@gridgain.com>.
I like the idea to use the full range notation like 10.0.0.1..10.0.0.100.
One issue we may face is the using of the addresses from different networks
like 10.0.0.201..10.0.1.100.

On Tue, Jan 10, 2017 at 1:35 PM, Yakov Zhdanov <yz...@apache.org> wrote:

> Guys, before I file a ticket - should we support range notation for each
> byte in IP address? I think we should.
>
> --Yakov
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Yakov Zhdanov <yz...@apache.org>.
Guys, before I file a ticket - should we support range notation for each
byte in IP address? I think we should.

--Yakov

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Dmitriy Setrakyan <ds...@apache.org>.
On Mon, Jan 9, 2017 at 12:19 PM, Sergey Kozlov <sk...@gridgain.com> wrote:

> Hi
>
> Thanks Yakov and Vladimir!
>
> In general I'm ok for Yakov's suggestion though a bit not clear why
> discovery by network mask will take long time. Is the discovery spi
> single-threaded and Ignite processes the addresses consequentially?
>

Sergey, I think trying out every address within the mask will take a while.
I like Yakov's suggestion as well.


>
>
> On Mon, Jan 9, 2017 at 2:39 PM, Vladimir Ozerov <vo...@gridgain.com>
> wrote:
>
> > +1
> >
> > On Mon, Jan 9, 2017 at 2:11 PM, Yakov Zhdanov <yz...@apache.org>
> wrote:
> >
> > > Agree with Vladimir.
> > >
> > > However, this functionality maybe useful in some cases. As far as I
> > > remember we support port range notation, e.g. 127.0.0.1:47500..47509,
> > but
> > > we don't have this for addresses. If we implement this I would suggest
> > the
> > > same approach, e.g 192.168.0.1..5:47500
> > >
> > > Thoughts?
> > >
> > > --Yakov
> > >
> >
>
>
>
> --
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com
>

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Sergey Kozlov <sk...@gridgain.com>.
Hi

Thanks Yakov and Vladimir!

In general I'm ok for Yakov's suggestion though a bit not clear why
discovery by network mask will take long time. Is the discovery spi
single-threaded and Ignite processes the addresses consequentially?


On Mon, Jan 9, 2017 at 2:39 PM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> +1
>
> On Mon, Jan 9, 2017 at 2:11 PM, Yakov Zhdanov <yz...@apache.org> wrote:
>
> > Agree with Vladimir.
> >
> > However, this functionality maybe useful in some cases. As far as I
> > remember we support port range notation, e.g. 127.0.0.1:47500..47509,
> but
> > we don't have this for addresses. If we implement this I would suggest
> the
> > same approach, e.g 192.168.0.1..5:47500
> >
> > Thoughts?
> >
> > --Yakov
> >
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Vladimir Ozerov <vo...@gridgain.com>.
+1

On Mon, Jan 9, 2017 at 2:11 PM, Yakov Zhdanov <yz...@apache.org> wrote:

> Agree with Vladimir.
>
> However, this functionality maybe useful in some cases. As far as I
> remember we support port range notation, e.g. 127.0.0.1:47500..47509, but
> we don't have this for addresses. If we implement this I would suggest the
> same approach, e.g 192.168.0.1..5:47500
>
> Thoughts?
>
> --Yakov
>

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Yakov Zhdanov <yz...@apache.org>.
Agree with Vladimir.

However, this functionality maybe useful in some cases. As far as I
remember we support port range notation, e.g. 127.0.0.1:47500..47509, but
we don't have this for addresses. If we implement this I would suggest the
same approach, e.g 192.168.0.1..5:47500

Thoughts?

--Yakov

Re: Extend TcpDiscoveryVmIpFinder functionality

Posted by Vladimir Ozerov <vo...@gridgain.com>.
Sergey,

This could be very dangerous in terms of node startup time. The very first
node in topology will have to scan the whole range trying to find any other
node. It might take significant time not only on Windows, but on Linux
environments as well, especially when some addresses are not available.

On Mon, Jan 9, 2017 at 12:25 PM, Sergey Kozlov <sk...@gridgain.com> wrote:

> Hi Igniters
>
> I found that TcpDiscoveryVmIpFinder could be improved for Spring
> configuration by introducing new format: *address/mask:port(port range) or
> address/prefix:port(port range)*. From my standpoint it will reduce the
> efforts for ignite deployment and administration.
> For instance if we've a dedicated network for the grid and not able to use
> multicast way we should put each IP to the address list:
>
> <property name="ipFinder">
>   <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.
> TcpDiscoveryVmIpFinder">
>     <property name="addresses">
>       <list>
>         <value>10.0.0.1:48500</value>
>         <value>10.0.0.2:48500</value>
>         <value>10.0.0.3:48500</value>
>         ...
>         <value>10.0.0.100:48500</value>
>       </list>
>     </property>
>   </bean>
> </property>
>
> but can be simplified to
>
> 1) with using of the netmask
>
> <property name="ipFinder">
>   <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.
> TcpDiscoveryVmIpFinder">
>     <property name="addresses">
>       <list>
>         <value>10.0.0.1/255.255.255.0:48500</value>
>       </list>
>     </property>
>   </bean>
> </property>
>
> 2) with using of the network prefix
>
> <property name="ipFinder">
>   <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.
> TcpDiscoveryVmIpFinder">
>     <property name="addresses">
>       <list>
>         <value>10.0.0.1/24:48500</value>
>       </list>
>     </property>
>   </bean>
> </property>
>
> Any comments/objections are welcome
>
>
> --
> Sergey Kozlov
>