Node.client(true) vs. node.data(false)

Hi,

Short:
What is the difference between node.clinet(true) and node.data(false)?

Longer:
Javadoc in NodeBuilder says:

client(boolean)
Is the node going to be a client node which means it will hold no data
(node.data is set to false) and other optimizations by
different modules.

data(boolen)
Is the node going to be allowed to allocate data (shards) to it or not. This
setting map to the node.data setting. Note, when setting {@link
#client(boolean)}, the node will not hold any data by default.

So it seems that clinet(true) does a little more ("other optimizations by
different modules") then data(false)? What is the subtle difference? I
assume that if I need a pure client (Java client that will send data for
indexing and perform searching) then I need to set just clinet(true) and
that's it. But still, can it be useful to set data(false) and client(false)
as well in some situations?

Regards,
Lukas

Currently, the main additional setting is that a client node will not become
master as well (there is an option to set it explicitly as well). The idea
is that setting client to true will cause several other settings to be
automatically set.

-shay.banon

On Thu, Jul 15, 2010 at 10:50 AM, Lukáš Vlček lukas.vlcek@gmail.com wrote:

Hi,

Short:
What is the difference between node.clinet(true) and node.data(false)?

Longer:
Javadoc in NodeBuilder says:

client(boolean)
Is the node going to be a client node which means it will hold no data
(node.data is set to false) and other optimizations by
different modules.

data(boolen)
Is the node going to be allowed to allocate data (shards) to it or not.
This setting map to the node.data setting. Note, when setting
{@link #client(boolean)}, the node will not hold any data by default.

So it seems that clinet(true) does a little more ("other optimizations by
different modules") then data(false)? What is the subtle difference? I
assume that if I need a pure client (Java client that will send data for
indexing and perform searching) then I need to set just clinet(true) and
that's it. But still, can it be useful to set data(false) and client(false)
as well in some situations?

Regards,
Lukas