You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Andrey Kornev <an...@hotmail.com> on 2016/01/13 18:32:23 UTC

TcpDiscoveryVmIpFinder's isShared property

Hi there,

I'm a bit confused about the purpose and usage of this property. What is being shared with who? What are the consequences of setting the property to true or false? Under what circumstances would one want to set it to either true or false? Does one care at all?

Thanks
Andrey
 		 	   		  

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Yakov,

I am reading this S3 use case for the 2nd time and still cannot understand
it. I think, this is one of the reason why this property has caused so much
confusion. I vote to use it only for local VM and property renaming it.

D.

On Tue, Jan 19, 2016 at 11:45 PM, Yakov Zhdanov <yz...@apache.org> wrote:

> I quote this from my previous email:
>
> you can init your S3 bucket and set "shared" to false and IP finder will
> be immutable. Can it be a valid usecase? If none is going to use it this
> way, I agree let's change this. Btw, would it be better to deprecate
> "shared" and introduce "mutable"?
>
> --Yakov
>
> 2016-01-20 5:56 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>
>> Looks like this property is only for the local VM. How about we rename it
>> to isInProcess() or isLocalVm()?
>>
>> On Tue, Jan 19, 2016 at 4:50 AM, Yakov Zhdanov <yz...@gridgain.com>
>> wrote:
>>
>>> Val, you can init your S3 bucket and set "shared" to false and IP finder
>>> will be immutable. Can it be a valid usecase? If none is going to use it
>>> this way, I agree let's change this. Btw, would it be better to deprecate
>>> "shared" and introduce "mutable"?
>>>
>>> Thanks!
>>> --
>>> Yakov Zhdanov, Director R&D
>>> *GridGain Systems*
>>> www.gridgain.com
>>>
>>> 2016-01-19 3:52 GMT+03:00 Valentin Kulichenko <
>>> valentin.kulichenko@gmail.com>:
>>>
>>>> Yakov,
>>>>
>>>> JavaDoc is OK, but it seems to me that the confusion is caused by the
>>>> fact that setShared() method is placed on the IpFinderAdapter, while it
>>>> actually makes sense only for VmIpFinder. Can we deprecate it and always
>>>> return false from isShared() method for JDBC, S3 and others?
>>>>
>>>> -Val
>>>>
>>>> On Mon, Jan 18, 2016 at 1:56 AM, Yakov Zhdanov <yz...@apache.org>
>>>> wrote:
>>>>
>>>>> Val, can you please review my changes to javadoc in master and update
>>>>> if necessary?
>>>>>
>>>>> --Yakov
>>>>>
>>>>> 2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:
>>>>>
>>>>>> It does now! Thank you!
>>>>>>
>>>>>> Andrey
>>>>>>
>>>>>> ------------------------------
>>>>>> Date: Fri, 15 Jan 2016 12:10:15 -0800
>>>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>>>> From: valentin.kulichenko@gmail.com
>>>>>> To: user@ignite.apache.org
>>>>>>
>>>>>>
>>>>>> Andrey,
>>>>>>
>>>>>> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
>>>>>> discover each other only within one JVM, when all nodes use the same
>>>>>> instance of IP finder. The shared "storage" in this case is just a local
>>>>>> collection. We use this heavily in unit tests, for example.
>>>>>>
>>>>>> TcpDiscoveryVmIpFinder with shared=false is how it's usually used.
>>>>>> There is no shared storage, so addresses have to be statically provided in
>>>>>> the configuration.
>>>>>>
>>>>>> shared=false for any other IP finder doesn't make any sense, because
>>>>>> they use some kind of storage by definition (e.g., JDBC or S3). This should
>>>>>> be clarified in docs.
>>>>>>
>>>>>> Makes sense?
>>>>>>
>>>>>> -Val
>>>>>>
>>>>>> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <
>>>>>> andrewkornev@hotmail.com> wrote:
>>>>>>
>>>>>> Yakov,
>>>>>>
>>>>>> Thank you for the clarification, but I must admit I'm still not
>>>>>> completely out of the woods with respect to intended usage. Setting the
>>>>>> property to "false" seems to be most natural and only reasonable option,
>>>>>> and I wonder when would one want to set it to true? I must be missing
>>>>>> something.
>>>>>>
>>>>>> Also, just to clarify. In the last sentence you're saying: "This way
>>>>>> user doesn't have to list any IPs before start..." How would then the new
>>>>>> nodes know where to look for a node to connect to? They need to get the
>>>>>> list of seed nodes from somewhere, right? If so, then setting isShared to
>>>>>> true doesn't really make much difference - an initial list of seeds still
>>>>>> must be provided to every node.
>>>>>>
>>>>>> Thanks
>>>>>> Andrey
>>>>>>
>>>>>> ------------------------------
>>>>>> Date: Thu, 14 Jan 2016 12:55:52 +0300
>>>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>>>> From: yzhdanov@apache.org
>>>>>> To: user@ignite.apache.org
>>>>>>
>>>>>>
>>>>>> Guys, this property is supported in VM IP finder for simplifying
>>>>>> discovery in single VM. I agree, that name could be better, but I would not
>>>>>> mess with it for now and just fix the javadocs (pls review, I did that in
>>>>>> master).
>>>>>>
>>>>>> "isShared" is a property of any IP finder. If it is "true" then IP
>>>>>> finder allows to add and remove addresses in runtime and this is how, for
>>>>>> example, S3 IP finder works. If "isShared" is "false" then IP finder is
>>>>>> immutable and all the addresses should be listed in configuration. This is
>>>>>> the most use case for VM IP finder. Since, usually VM IP finder is created
>>>>>> per each Ignite instance and all the known IPs are listed right away, but
>>>>>> there is also an option to make it shared - set "isShared" to true and
>>>>>> literally share it between local VM Ignite instances. This way user does
>>>>>> not have to list any IPs before start, instead all starting nodes add their
>>>>>> addresses to the finder, then get the registered addresses and continue
>>>>>> with discovery procedure.
>>>>>>
>>>>>> --Yakov
>>>>>>
>>>>>> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>>>>>>
>>>>>> Any chance we could get an explanation here, so we can update the
>>>>>> docs? Yakov, I think you would know how this flag works.
>>>>>>
>>>>>> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <
>>>>>> vozerov@gridgain.com> wrote:
>>>>>>
>>>>>> +1 to the question. Very confusing property. At the very least
>>>>>> JavaDocs should be reworked significantly.
>>>>>>
>>>>>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <
>>>>>> andrewkornev@hotmail.com> wrote:
>>>>>>
>>>>>> Hi there,
>>>>>>
>>>>>> I'm a bit confused about the purpose and usage of this property. What
>>>>>> is being shared with who? What are the consequences of setting the property
>>>>>> to true or false? Under what circumstances would one want to set it to
>>>>>> either true or false? Does one care at all?
>>>>>>
>>>>>> Thanks
>>>>>> Andrey
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Yakov Zhdanov <yz...@apache.org>.
I quote this from my previous email:

you can init your S3 bucket and set "shared" to false and IP finder will be
immutable. Can it be a valid usecase? If none is going to use it this way,
I agree let's change this. Btw, would it be better to deprecate "shared"
and introduce "mutable"?

--Yakov

2016-01-20 5:56 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:

> Looks like this property is only for the local VM. How about we rename it
> to isInProcess() or isLocalVm()?
>
> On Tue, Jan 19, 2016 at 4:50 AM, Yakov Zhdanov <yz...@gridgain.com>
> wrote:
>
>> Val, you can init your S3 bucket and set "shared" to false and IP finder
>> will be immutable. Can it be a valid usecase? If none is going to use it
>> this way, I agree let's change this. Btw, would it be better to deprecate
>> "shared" and introduce "mutable"?
>>
>> Thanks!
>> --
>> Yakov Zhdanov, Director R&D
>> *GridGain Systems*
>> www.gridgain.com
>>
>> 2016-01-19 3:52 GMT+03:00 Valentin Kulichenko <
>> valentin.kulichenko@gmail.com>:
>>
>>> Yakov,
>>>
>>> JavaDoc is OK, but it seems to me that the confusion is caused by the
>>> fact that setShared() method is placed on the IpFinderAdapter, while it
>>> actually makes sense only for VmIpFinder. Can we deprecate it and always
>>> return false from isShared() method for JDBC, S3 and others?
>>>
>>> -Val
>>>
>>> On Mon, Jan 18, 2016 at 1:56 AM, Yakov Zhdanov <yz...@apache.org>
>>> wrote:
>>>
>>>> Val, can you please review my changes to javadoc in master and update
>>>> if necessary?
>>>>
>>>> --Yakov
>>>>
>>>> 2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:
>>>>
>>>>> It does now! Thank you!
>>>>>
>>>>> Andrey
>>>>>
>>>>> ------------------------------
>>>>> Date: Fri, 15 Jan 2016 12:10:15 -0800
>>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>>> From: valentin.kulichenko@gmail.com
>>>>> To: user@ignite.apache.org
>>>>>
>>>>>
>>>>> Andrey,
>>>>>
>>>>> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
>>>>> discover each other only within one JVM, when all nodes use the same
>>>>> instance of IP finder. The shared "storage" in this case is just a local
>>>>> collection. We use this heavily in unit tests, for example.
>>>>>
>>>>> TcpDiscoveryVmIpFinder with shared=false is how it's usually used.
>>>>> There is no shared storage, so addresses have to be statically provided in
>>>>> the configuration.
>>>>>
>>>>> shared=false for any other IP finder doesn't make any sense, because
>>>>> they use some kind of storage by definition (e.g., JDBC or S3). This should
>>>>> be clarified in docs.
>>>>>
>>>>> Makes sense?
>>>>>
>>>>> -Val
>>>>>
>>>>> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <
>>>>> andrewkornev@hotmail.com> wrote:
>>>>>
>>>>> Yakov,
>>>>>
>>>>> Thank you for the clarification, but I must admit I'm still not
>>>>> completely out of the woods with respect to intended usage. Setting the
>>>>> property to "false" seems to be most natural and only reasonable option,
>>>>> and I wonder when would one want to set it to true? I must be missing
>>>>> something.
>>>>>
>>>>> Also, just to clarify. In the last sentence you're saying: "This way
>>>>> user doesn't have to list any IPs before start..." How would then the new
>>>>> nodes know where to look for a node to connect to? They need to get the
>>>>> list of seed nodes from somewhere, right? If so, then setting isShared to
>>>>> true doesn't really make much difference - an initial list of seeds still
>>>>> must be provided to every node.
>>>>>
>>>>> Thanks
>>>>> Andrey
>>>>>
>>>>> ------------------------------
>>>>> Date: Thu, 14 Jan 2016 12:55:52 +0300
>>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>>> From: yzhdanov@apache.org
>>>>> To: user@ignite.apache.org
>>>>>
>>>>>
>>>>> Guys, this property is supported in VM IP finder for simplifying
>>>>> discovery in single VM. I agree, that name could be better, but I would not
>>>>> mess with it for now and just fix the javadocs (pls review, I did that in
>>>>> master).
>>>>>
>>>>> "isShared" is a property of any IP finder. If it is "true" then IP
>>>>> finder allows to add and remove addresses in runtime and this is how, for
>>>>> example, S3 IP finder works. If "isShared" is "false" then IP finder is
>>>>> immutable and all the addresses should be listed in configuration. This is
>>>>> the most use case for VM IP finder. Since, usually VM IP finder is created
>>>>> per each Ignite instance and all the known IPs are listed right away, but
>>>>> there is also an option to make it shared - set "isShared" to true and
>>>>> literally share it between local VM Ignite instances. This way user does
>>>>> not have to list any IPs before start, instead all starting nodes add their
>>>>> addresses to the finder, then get the registered addresses and continue
>>>>> with discovery procedure.
>>>>>
>>>>> --Yakov
>>>>>
>>>>> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>>>>>
>>>>> Any chance we could get an explanation here, so we can update the
>>>>> docs? Yakov, I think you would know how this flag works.
>>>>>
>>>>> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <
>>>>> vozerov@gridgain.com> wrote:
>>>>>
>>>>> +1 to the question. Very confusing property. At the very least
>>>>> JavaDocs should be reworked significantly.
>>>>>
>>>>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <
>>>>> andrewkornev@hotmail.com> wrote:
>>>>>
>>>>> Hi there,
>>>>>
>>>>> I'm a bit confused about the purpose and usage of this property. What
>>>>> is being shared with who? What are the consequences of setting the property
>>>>> to true or false? Under what circumstances would one want to set it to
>>>>> either true or false? Does one care at all?
>>>>>
>>>>> Thanks
>>>>> Andrey
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Looks like this property is only for the local VM. How about we rename it
to isInProcess() or isLocalVm()?

On Tue, Jan 19, 2016 at 4:50 AM, Yakov Zhdanov <yz...@gridgain.com>
wrote:

> Val, you can init your S3 bucket and set "shared" to false and IP finder
> will be immutable. Can it be a valid usecase? If none is going to use it
> this way, I agree let's change this. Btw, would it be better to deprecate
> "shared" and introduce "mutable"?
>
> Thanks!
> --
> Yakov Zhdanov, Director R&D
> *GridGain Systems*
> www.gridgain.com
>
> 2016-01-19 3:52 GMT+03:00 Valentin Kulichenko <
> valentin.kulichenko@gmail.com>:
>
>> Yakov,
>>
>> JavaDoc is OK, but it seems to me that the confusion is caused by the
>> fact that setShared() method is placed on the IpFinderAdapter, while it
>> actually makes sense only for VmIpFinder. Can we deprecate it and always
>> return false from isShared() method for JDBC, S3 and others?
>>
>> -Val
>>
>> On Mon, Jan 18, 2016 at 1:56 AM, Yakov Zhdanov <yz...@apache.org>
>> wrote:
>>
>>> Val, can you please review my changes to javadoc in master and update if
>>> necessary?
>>>
>>> --Yakov
>>>
>>> 2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:
>>>
>>>> It does now! Thank you!
>>>>
>>>> Andrey
>>>>
>>>> ------------------------------
>>>> Date: Fri, 15 Jan 2016 12:10:15 -0800
>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>> From: valentin.kulichenko@gmail.com
>>>> To: user@ignite.apache.org
>>>>
>>>>
>>>> Andrey,
>>>>
>>>> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
>>>> discover each other only within one JVM, when all nodes use the same
>>>> instance of IP finder. The shared "storage" in this case is just a local
>>>> collection. We use this heavily in unit tests, for example.
>>>>
>>>> TcpDiscoveryVmIpFinder with shared=false is how it's usually used.
>>>> There is no shared storage, so addresses have to be statically provided in
>>>> the configuration.
>>>>
>>>> shared=false for any other IP finder doesn't make any sense, because
>>>> they use some kind of storage by definition (e.g., JDBC or S3). This should
>>>> be clarified in docs.
>>>>
>>>> Makes sense?
>>>>
>>>> -Val
>>>>
>>>> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <
>>>> andrewkornev@hotmail.com> wrote:
>>>>
>>>> Yakov,
>>>>
>>>> Thank you for the clarification, but I must admit I'm still not
>>>> completely out of the woods with respect to intended usage. Setting the
>>>> property to "false" seems to be most natural and only reasonable option,
>>>> and I wonder when would one want to set it to true? I must be missing
>>>> something.
>>>>
>>>> Also, just to clarify. In the last sentence you're saying: "This way
>>>> user doesn't have to list any IPs before start..." How would then the new
>>>> nodes know where to look for a node to connect to? They need to get the
>>>> list of seed nodes from somewhere, right? If so, then setting isShared to
>>>> true doesn't really make much difference - an initial list of seeds still
>>>> must be provided to every node.
>>>>
>>>> Thanks
>>>> Andrey
>>>>
>>>> ------------------------------
>>>> Date: Thu, 14 Jan 2016 12:55:52 +0300
>>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>>> From: yzhdanov@apache.org
>>>> To: user@ignite.apache.org
>>>>
>>>>
>>>> Guys, this property is supported in VM IP finder for simplifying
>>>> discovery in single VM. I agree, that name could be better, but I would not
>>>> mess with it for now and just fix the javadocs (pls review, I did that in
>>>> master).
>>>>
>>>> "isShared" is a property of any IP finder. If it is "true" then IP
>>>> finder allows to add and remove addresses in runtime and this is how, for
>>>> example, S3 IP finder works. If "isShared" is "false" then IP finder is
>>>> immutable and all the addresses should be listed in configuration. This is
>>>> the most use case for VM IP finder. Since, usually VM IP finder is created
>>>> per each Ignite instance and all the known IPs are listed right away, but
>>>> there is also an option to make it shared - set "isShared" to true and
>>>> literally share it between local VM Ignite instances. This way user does
>>>> not have to list any IPs before start, instead all starting nodes add their
>>>> addresses to the finder, then get the registered addresses and continue
>>>> with discovery procedure.
>>>>
>>>> --Yakov
>>>>
>>>> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>>>>
>>>> Any chance we could get an explanation here, so we can update the docs?
>>>> Yakov, I think you would know how this flag works.
>>>>
>>>> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vozerov@gridgain.com
>>>> > wrote:
>>>>
>>>> +1 to the question. Very confusing property. At the very least JavaDocs
>>>> should be reworked significantly.
>>>>
>>>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <
>>>> andrewkornev@hotmail.com> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I'm a bit confused about the purpose and usage of this property. What
>>>> is being shared with who? What are the consequences of setting the property
>>>> to true or false? Under what circumstances would one want to set it to
>>>> either true or false? Does one care at all?
>>>>
>>>> Thanks
>>>> Andrey
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Yakov Zhdanov <yz...@gridgain.com>.
Val, you can init your S3 bucket and set "shared" to false and IP finder
will be immutable. Can it be a valid usecase? If none is going to use it
this way, I agree let's change this. Btw, would it be better to deprecate
"shared" and introduce "mutable"?

Thanks!
--
Yakov Zhdanov, Director R&D
*GridGain Systems*
www.gridgain.com

2016-01-19 3:52 GMT+03:00 Valentin Kulichenko <valentin.kulichenko@gmail.com
>:

> Yakov,
>
> JavaDoc is OK, but it seems to me that the confusion is caused by the fact
> that setShared() method is placed on the IpFinderAdapter, while it actually
> makes sense only for VmIpFinder. Can we deprecate it and always return
> false from isShared() method for JDBC, S3 and others?
>
> -Val
>
> On Mon, Jan 18, 2016 at 1:56 AM, Yakov Zhdanov <yz...@apache.org>
> wrote:
>
>> Val, can you please review my changes to javadoc in master and update if
>> necessary?
>>
>> --Yakov
>>
>> 2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:
>>
>>> It does now! Thank you!
>>>
>>> Andrey
>>>
>>> ------------------------------
>>> Date: Fri, 15 Jan 2016 12:10:15 -0800
>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>> From: valentin.kulichenko@gmail.com
>>> To: user@ignite.apache.org
>>>
>>>
>>> Andrey,
>>>
>>> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
>>> discover each other only within one JVM, when all nodes use the same
>>> instance of IP finder. The shared "storage" in this case is just a local
>>> collection. We use this heavily in unit tests, for example.
>>>
>>> TcpDiscoveryVmIpFinder with shared=false is how it's usually used. There
>>> is no shared storage, so addresses have to be statically provided in the
>>> configuration.
>>>
>>> shared=false for any other IP finder doesn't make any sense, because
>>> they use some kind of storage by definition (e.g., JDBC or S3). This should
>>> be clarified in docs.
>>>
>>> Makes sense?
>>>
>>> -Val
>>>
>>> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <andrewkornev@hotmail.com
>>> > wrote:
>>>
>>> Yakov,
>>>
>>> Thank you for the clarification, but I must admit I'm still not
>>> completely out of the woods with respect to intended usage. Setting the
>>> property to "false" seems to be most natural and only reasonable option,
>>> and I wonder when would one want to set it to true? I must be missing
>>> something.
>>>
>>> Also, just to clarify. In the last sentence you're saying: "This way
>>> user doesn't have to list any IPs before start..." How would then the new
>>> nodes know where to look for a node to connect to? They need to get the
>>> list of seed nodes from somewhere, right? If so, then setting isShared to
>>> true doesn't really make much difference - an initial list of seeds still
>>> must be provided to every node.
>>>
>>> Thanks
>>> Andrey
>>>
>>> ------------------------------
>>> Date: Thu, 14 Jan 2016 12:55:52 +0300
>>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>>> From: yzhdanov@apache.org
>>> To: user@ignite.apache.org
>>>
>>>
>>> Guys, this property is supported in VM IP finder for simplifying
>>> discovery in single VM. I agree, that name could be better, but I would not
>>> mess with it for now and just fix the javadocs (pls review, I did that in
>>> master).
>>>
>>> "isShared" is a property of any IP finder. If it is "true" then IP
>>> finder allows to add and remove addresses in runtime and this is how, for
>>> example, S3 IP finder works. If "isShared" is "false" then IP finder is
>>> immutable and all the addresses should be listed in configuration. This is
>>> the most use case for VM IP finder. Since, usually VM IP finder is created
>>> per each Ignite instance and all the known IPs are listed right away, but
>>> there is also an option to make it shared - set "isShared" to true and
>>> literally share it between local VM Ignite instances. This way user does
>>> not have to list any IPs before start, instead all starting nodes add their
>>> addresses to the finder, then get the registered addresses and continue
>>> with discovery procedure.
>>>
>>> --Yakov
>>>
>>> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>>>
>>> Any chance we could get an explanation here, so we can update the docs?
>>> Yakov, I think you would know how this flag works.
>>>
>>> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
>>> wrote:
>>>
>>> +1 to the question. Very confusing property. At the very least JavaDocs
>>> should be reworked significantly.
>>>
>>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <andrewkornev@hotmail.com
>>> > wrote:
>>>
>>> Hi there,
>>>
>>> I'm a bit confused about the purpose and usage of this property. What is
>>> being shared with who? What are the consequences of setting the property to
>>> true or false? Under what circumstances would one want to set it to either
>>> true or false? Does one care at all?
>>>
>>> Thanks
>>> Andrey
>>>
>>>
>>>
>>>
>>>
>>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Valentin Kulichenko <va...@gmail.com>.
Yakov,

JavaDoc is OK, but it seems to me that the confusion is caused by the fact
that setShared() method is placed on the IpFinderAdapter, while it actually
makes sense only for VmIpFinder. Can we deprecate it and always return
false from isShared() method for JDBC, S3 and others?

-Val

On Mon, Jan 18, 2016 at 1:56 AM, Yakov Zhdanov <yz...@apache.org> wrote:

> Val, can you please review my changes to javadoc in master and update if
> necessary?
>
> --Yakov
>
> 2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:
>
>> It does now! Thank you!
>>
>> Andrey
>>
>> ------------------------------
>> Date: Fri, 15 Jan 2016 12:10:15 -0800
>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>> From: valentin.kulichenko@gmail.com
>> To: user@ignite.apache.org
>>
>>
>> Andrey,
>>
>> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
>> discover each other only within one JVM, when all nodes use the same
>> instance of IP finder. The shared "storage" in this case is just a local
>> collection. We use this heavily in unit tests, for example.
>>
>> TcpDiscoveryVmIpFinder with shared=false is how it's usually used. There
>> is no shared storage, so addresses have to be statically provided in the
>> configuration.
>>
>> shared=false for any other IP finder doesn't make any sense, because they
>> use some kind of storage by definition (e.g., JDBC or S3). This should be
>> clarified in docs.
>>
>> Makes sense?
>>
>> -Val
>>
>> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <an...@hotmail.com>
>> wrote:
>>
>> Yakov,
>>
>> Thank you for the clarification, but I must admit I'm still not
>> completely out of the woods with respect to intended usage. Setting the
>> property to "false" seems to be most natural and only reasonable option,
>> and I wonder when would one want to set it to true? I must be missing
>> something.
>>
>> Also, just to clarify. In the last sentence you're saying: "This way user
>> doesn't have to list any IPs before start..." How would then the new nodes
>> know where to look for a node to connect to? They need to get the list of
>> seed nodes from somewhere, right? If so, then setting isShared to true
>> doesn't really make much difference - an initial list of seeds still must
>> be provided to every node.
>>
>> Thanks
>> Andrey
>>
>> ------------------------------
>> Date: Thu, 14 Jan 2016 12:55:52 +0300
>> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
>> From: yzhdanov@apache.org
>> To: user@ignite.apache.org
>>
>>
>> Guys, this property is supported in VM IP finder for simplifying
>> discovery in single VM. I agree, that name could be better, but I would not
>> mess with it for now and just fix the javadocs (pls review, I did that in
>> master).
>>
>> "isShared" is a property of any IP finder. If it is "true" then IP finder
>> allows to add and remove addresses in runtime and this is how, for example,
>> S3 IP finder works. If "isShared" is "false" then IP finder is immutable
>> and all the addresses should be listed in configuration. This is the most
>> use case for VM IP finder. Since, usually VM IP finder is created per each
>> Ignite instance and all the known IPs are listed right away, but there is
>> also an option to make it shared - set "isShared" to true and literally
>> share it between local VM Ignite instances. This way user does not have to
>> list any IPs before start, instead all starting nodes add their addresses
>> to the finder, then get the registered addresses and continue with
>> discovery procedure.
>>
>> --Yakov
>>
>> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>>
>> Any chance we could get an explanation here, so we can update the docs?
>> Yakov, I think you would know how this flag works.
>>
>> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
>> wrote:
>>
>> +1 to the question. Very confusing property. At the very least JavaDocs
>> should be reworked significantly.
>>
>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
>> wrote:
>>
>> Hi there,
>>
>> I'm a bit confused about the purpose and usage of this property. What is
>> being shared with who? What are the consequences of setting the property to
>> true or false? Under what circumstances would one want to set it to either
>> true or false? Does one care at all?
>>
>> Thanks
>> Andrey
>>
>>
>>
>>
>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Yakov Zhdanov <yz...@apache.org>.
Val, can you please review my changes to javadoc in master and update if
necessary?

--Yakov

2016-01-15 23:13 GMT+03:00 Andrey Kornev <an...@hotmail.com>:

> It does now! Thank you!
>
> Andrey
>
> ------------------------------
> Date: Fri, 15 Jan 2016 12:10:15 -0800
> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
> From: valentin.kulichenko@gmail.com
> To: user@ignite.apache.org
>
>
> Andrey,
>
> Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
> discover each other only within one JVM, when all nodes use the same
> instance of IP finder. The shared "storage" in this case is just a local
> collection. We use this heavily in unit tests, for example.
>
> TcpDiscoveryVmIpFinder with shared=false is how it's usually used. There
> is no shared storage, so addresses have to be statically provided in the
> configuration.
>
> shared=false for any other IP finder doesn't make any sense, because they
> use some kind of storage by definition (e.g., JDBC or S3). This should be
> clarified in docs.
>
> Makes sense?
>
> -Val
>
> On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <an...@hotmail.com>
> wrote:
>
> Yakov,
>
> Thank you for the clarification, but I must admit I'm still not completely
> out of the woods with respect to intended usage. Setting the property to
> "false" seems to be most natural and only reasonable option, and I wonder
> when would one want to set it to true? I must be missing something.
>
> Also, just to clarify. In the last sentence you're saying: "This way user
> doesn't have to list any IPs before start..." How would then the new nodes
> know where to look for a node to connect to? They need to get the list of
> seed nodes from somewhere, right? If so, then setting isShared to true
> doesn't really make much difference - an initial list of seeds still must
> be provided to every node.
>
> Thanks
> Andrey
>
> ------------------------------
> Date: Thu, 14 Jan 2016 12:55:52 +0300
> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
> From: yzhdanov@apache.org
> To: user@ignite.apache.org
>
>
> Guys, this property is supported in VM IP finder for simplifying discovery
> in single VM. I agree, that name could be better, but I would not mess with
> it for now and just fix the javadocs (pls review, I did that in master).
>
> "isShared" is a property of any IP finder. If it is "true" then IP finder
> allows to add and remove addresses in runtime and this is how, for example,
> S3 IP finder works. If "isShared" is "false" then IP finder is immutable
> and all the addresses should be listed in configuration. This is the most
> use case for VM IP finder. Since, usually VM IP finder is created per each
> Ignite instance and all the known IPs are listed right away, but there is
> also an option to make it shared - set "isShared" to true and literally
> share it between local VM Ignite instances. This way user does not have to
> list any IPs before start, instead all starting nodes add their addresses
> to the finder, then get the registered addresses and continue with
> discovery procedure.
>
> --Yakov
>
> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>
> Any chance we could get an explanation here, so we can update the docs?
> Yakov, I think you would know how this flag works.
>
> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
> wrote:
>
> +1 to the question. Very confusing property. At the very least JavaDocs
> should be reworked significantly.
>
> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
> wrote:
>
> Hi there,
>
> I'm a bit confused about the purpose and usage of this property. What is
> being shared with who? What are the consequences of setting the property to
> true or false? Under what circumstances would one want to set it to either
> true or false? Does one care at all?
>
> Thanks
> Andrey
>
>
>
>
>
>

RE: TcpDiscoveryVmIpFinder's isShared property

Posted by Andrey Kornev <an...@hotmail.com>.
It does now! Thank you!

Andrey

Date: Fri, 15 Jan 2016 12:10:15 -0800
Subject: Re: TcpDiscoveryVmIpFinder's isShared property
From: valentin.kulichenko@gmail.com
To: user@ignite.apache.org

Andrey,
Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can discover each other only within one JVM, when all nodes use the same instance of IP finder. The shared "storage" in this case is just a local collection. We use this heavily in unit tests, for example.
TcpDiscoveryVmIpFinder with shared=false is how it's usually used. There is no shared storage, so addresses have to be statically provided in the configuration.

shared=false for any other IP finder doesn't make any sense, because they use some kind of storage by definition (e.g., JDBC or S3). This should be clarified in docs.
Makes sense?
-Val
On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <an...@hotmail.com> wrote:



Yakov,

Thank you for the clarification, but I must admit I'm still not completely out of the woods with respect to intended usage. Setting the property to "false" seems to be most natural and only reasonable option, and I wonder when would one want to set it to true? I must be missing something.

Also, just to clarify. In the last sentence you're saying: "This way user doesn't have to list any IPs before start..." How would then the new nodes know where to look for a node to connect to? They need to get the list of seed nodes from somewhere, right? If so, then setting isShared to true doesn't really make much difference - an initial list of seeds still must be provided to every node.

Thanks
Andrey

Date: Thu, 14 Jan 2016 12:55:52 +0300
Subject: Re: TcpDiscoveryVmIpFinder's isShared property
From: yzhdanov@apache.org
To: user@ignite.apache.org

Guys, this property is supported in VM IP finder for simplifying discovery in single VM. I agree, that name could be better, but I would not mess with it for now and just fix the javadocs (pls review, I did that in master).
"isShared" is a property of any IP finder. If it is "true" then IP finder allows to add and remove addresses in runtime and this is how, for example, S3 IP finder works. If "isShared" is "false" then IP finder is immutable and all the addresses should be listed in configuration. This is the most use case for VM IP finder. Since, usually VM IP finder is created per each Ignite instance and all the known IPs are listed right away, but there is also an option to make it shared - set "isShared" to true and literally share it between local VM Ignite instances. This way user does not have to list any IPs before start, instead all starting nodes add their addresses to the finder, then get the registered addresses and continue with discovery procedure.--Yakov

2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
Any chance we could get an explanation here, so we can update the docs? Yakov, I think you would know how this flag works.
On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com> wrote:
+1 to the question. Very confusing property. At the very least JavaDocs should be reworked significantly.
On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com> wrote:



Hi there,

I'm a bit confused about the purpose and usage of this property. What is being shared with who? What are the consequences of setting the property to true or false? Under what circumstances would one want to set it to either true or false? Does one care at all?

Thanks
Andrey
 		 	   		  





 		 	   		  

 		 	   		  

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Valentin Kulichenko <va...@gmail.com>.
Andrey,

Setting shared=true for TcpDiscoveryVmIpFinder means that nodes can
discover each other only within one JVM, when all nodes use the same
instance of IP finder. The shared "storage" in this case is just a local
collection. We use this heavily in unit tests, for example.

TcpDiscoveryVmIpFinder with shared=false is how it's usually used. There is
no shared storage, so addresses have to be statically provided in the
configuration.

shared=false for any other IP finder doesn't make any sense, because they
use some kind of storage by definition (e.g., JDBC or S3). This should be
clarified in docs.

Makes sense?

-Val

On Fri, Jan 15, 2016 at 9:16 AM, Andrey Kornev <an...@hotmail.com>
wrote:

> Yakov,
>
> Thank you for the clarification, but I must admit I'm still not completely
> out of the woods with respect to intended usage. Setting the property to
> "false" seems to be most natural and only reasonable option, and I wonder
> when would one want to set it to true? I must be missing something.
>
> Also, just to clarify. In the last sentence you're saying: "This way user
> doesn't have to list any IPs before start..." How would then the new nodes
> know where to look for a node to connect to? They need to get the list of
> seed nodes from somewhere, right? If so, then setting isShared to true
> doesn't really make much difference - an initial list of seeds still must
> be provided to every node.
>
> Thanks
> Andrey
>
> ------------------------------
> Date: Thu, 14 Jan 2016 12:55:52 +0300
> Subject: Re: TcpDiscoveryVmIpFinder's isShared property
> From: yzhdanov@apache.org
> To: user@ignite.apache.org
>
>
> Guys, this property is supported in VM IP finder for simplifying discovery
> in single VM. I agree, that name could be better, but I would not mess with
> it for now and just fix the javadocs (pls review, I did that in master).
>
> "isShared" is a property of any IP finder. If it is "true" then IP finder
> allows to add and remove addresses in runtime and this is how, for example,
> S3 IP finder works. If "isShared" is "false" then IP finder is immutable
> and all the addresses should be listed in configuration. This is the most
> use case for VM IP finder. Since, usually VM IP finder is created per each
> Ignite instance and all the known IPs are listed right away, but there is
> also an option to make it shared - set "isShared" to true and literally
> share it between local VM Ignite instances. This way user does not have to
> list any IPs before start, instead all starting nodes add their addresses
> to the finder, then get the registered addresses and continue with
> discovery procedure.
>
> --Yakov
>
> 2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
>
> Any chance we could get an explanation here, so we can update the docs?
> Yakov, I think you would know how this flag works.
>
> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
> wrote:
>
> +1 to the question. Very confusing property. At the very least JavaDocs
> should be reworked significantly.
>
> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
> wrote:
>
> Hi there,
>
> I'm a bit confused about the purpose and usage of this property. What is
> being shared with who? What are the consequences of setting the property to
> true or false? Under what circumstances would one want to set it to either
> true or false? Does one care at all?
>
> Thanks
> Andrey
>
>
>
>
>

RE: TcpDiscoveryVmIpFinder's isShared property

Posted by Andrey Kornev <an...@hotmail.com>.
Yakov,

Thank you for the clarification, but I must admit I'm still not completely out of the woods with respect to intended usage. Setting the property to "false" seems to be most natural and only reasonable option, and I wonder when would one want to set it to true? I must be missing something.

Also, just to clarify. In the last sentence you're saying: "This way user doesn't have to list any IPs before start..." How would then the new nodes know where to look for a node to connect to? They need to get the list of seed nodes from somewhere, right? If so, then setting isShared to true doesn't really make much difference - an initial list of seeds still must be provided to every node.

Thanks
Andrey

Date: Thu, 14 Jan 2016 12:55:52 +0300
Subject: Re: TcpDiscoveryVmIpFinder's isShared property
From: yzhdanov@apache.org
To: user@ignite.apache.org

Guys, this property is supported in VM IP finder for simplifying discovery in single VM. I agree, that name could be better, but I would not mess with it for now and just fix the javadocs (pls review, I did that in master).
"isShared" is a property of any IP finder. If it is "true" then IP finder allows to add and remove addresses in runtime and this is how, for example, S3 IP finder works. If "isShared" is "false" then IP finder is immutable and all the addresses should be listed in configuration. This is the most use case for VM IP finder. Since, usually VM IP finder is created per each Ignite instance and all the known IPs are listed right away, but there is also an option to make it shared - set "isShared" to true and literally share it between local VM Ignite instances. This way user does not have to list any IPs before start, instead all starting nodes add their addresses to the finder, then get the registered addresses and continue with discovery procedure.--Yakov

2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:
Any chance we could get an explanation here, so we can update the docs? Yakov, I think you would know how this flag works.
On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com> wrote:
+1 to the question. Very confusing property. At the very least JavaDocs should be reworked significantly.
On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com> wrote:



Hi there,

I'm a bit confused about the purpose and usage of this property. What is being shared with who? What are the consequences of setting the property to true or false? Under what circumstances would one want to set it to either true or false? Does one care at all?

Thanks
Andrey
 		 	   		  





 		 	   		  

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Yakov Zhdanov <yz...@apache.org>.
Guys, this property is supported in VM IP finder for simplifying discovery
in single VM. I agree, that name could be better, but I would not mess with
it for now and just fix the javadocs (pls review, I did that in master).

"isShared" is a property of any IP finder. If it is "true" then IP finder
allows to add and remove addresses in runtime and this is how, for example,
S3 IP finder works. If "isShared" is "false" then IP finder is immutable
and all the addresses should be listed in configuration. This is the most
use case for VM IP finder. Since, usually VM IP finder is created per each
Ignite instance and all the known IPs are listed right away, but there is
also an option to make it shared - set "isShared" to true and literally
share it between local VM Ignite instances. This way user does not have to
list any IPs before start, instead all starting nodes add their addresses
to the finder, then get the registered addresses and continue with
discovery procedure.

--Yakov

2016-01-13 22:45 GMT+03:00 Dmitriy Setrakyan <ds...@apache.org>:

> Any chance we could get an explanation here, so we can update the docs?
> Yakov, I think you would know how this flag works.
>
> On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
> wrote:
>
>> +1 to the question. Very confusing property. At the very least JavaDocs
>> should be reworked significantly.
>>
>> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
>> wrote:
>>
>>> Hi there,
>>>
>>> I'm a bit confused about the purpose and usage of this property. What is
>>> being shared with who? What are the consequences of setting the property to
>>> true or false? Under what circumstances would one want to set it to either
>>> true or false? Does one care at all?
>>>
>>> Thanks
>>> Andrey
>>>
>>
>>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Any chance we could get an explanation here, so we can update the docs?
Yakov, I think you would know how this flag works.

On Wed, Jan 13, 2016 at 11:40 AM, Vladimir Ozerov <vo...@gridgain.com>
wrote:

> +1 to the question. Very confusing property. At the very least JavaDocs
> should be reworked significantly.
>
> On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
> wrote:
>
>> Hi there,
>>
>> I'm a bit confused about the purpose and usage of this property. What is
>> being shared with who? What are the consequences of setting the property to
>> true or false? Under what circumstances would one want to set it to either
>> true or false? Does one care at all?
>>
>> Thanks
>> Andrey
>>
>
>

Re: TcpDiscoveryVmIpFinder's isShared property

Posted by Vladimir Ozerov <vo...@gridgain.com>.
+1 to the question. Very confusing property. At the very least JavaDocs
should be reworked significantly.

On Wed, Jan 13, 2016 at 8:32 PM, Andrey Kornev <an...@hotmail.com>
wrote:

> Hi there,
>
> I'm a bit confused about the purpose and usage of this property. What is
> being shared with who? What are the consequences of setting the property to
> true or false? Under what circumstances would one want to set it to either
> true or false? Does one care at all?
>
> Thanks
> Andrey
>