Guys,
There is already a configuration property that lets to complete client's
launching procedure even if there is no any server node in a cluster -
TcpDiscoverySpi.setForceServerMode.
The only side effect of this property is that a client node will become
a part of the ring.
Is this property applicable or you want to support something different?
--
Denis
On 12/12/2015 6:13 AM, Valentin Kulichenko wrote:
Dmitry,
How do you think, should we just change the behavior or make it
configurable?
-Val
On Fri, Dec 11, 2015 at 1:59 PM, Dmitriy Setrakyan <[email protected]>
wrote:
I agree that we have a consistency issue here. I am OK with the change.
On Fri, Dec 11, 2015 at 11:43 AM, Valentin Kulichenko <
[email protected]> wrote:
Folks,
Currently there are two different ways how a client node behaves in case
there are no server nodes:
1. If it's trying to start, it will wait and block the thread that
called Ignition.start().
2. If server nodes left when it was already running, it will throw
disconnect exception on any API call.
It seems confusing to me (and not only to me, as far as I can see from
the
users' feedback). First of all, it's just inconsistent and requires
different processing for these different cases. Second of all, p.1 is
often
treated as a hang, but not as correct behavior. And it's getting worse
when
the node is started as a part of web application, because it blocks the
application startup process.
I think we should start a client node (or at least have a configurable
option) even if there are no servers yet. Until the first server joins,
it
will just throw disconnect exceptions.
Thoughts?
-Val