A quick question on cluster topology and partitions?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

A quick question on cluster topology and partitions?

John Wilson
Hi,


   1. What exactly is a cluster topology? What makes a cluster topology
   invalid for further cache operations?
   2.  Why do we have the concept of partitions in Ignite? Why don't we
   have a key-to-node mapping rather than a key-to-partition and a
   partition-to-node mapping?

Thanks,
John
Reply | Threaded
Open this post in threaded view
|

Re: A quick question on cluster topology and partitions?

dsetrakyan
On Mon, Jul 2, 2018 at 4:03 PM, John Wilson <[hidden email]> wrote:

> Hi,
>
>
>    1. What exactly is a cluster topology? What makes a cluster topology
>    invalid for further cache operations?
>

Cluster topology is a set of Ignite nodes in the cluster. I do not think a
cluster topology could be invalid on its own. Perhaps you are asking about
a situation when after a certain number of node failures/stops we can be in
a situation where all primary and backup copies become inaccessible. In
that case, the cluster should enter a read-only state for the lost
partitions.


>    2.  Why do we have the concept of partitions in Ignite? Why don't we
>    have a key-to-node mapping rather than a key-to-partition and a
>    partition-to-node mapping?
>

Main reason is because there is a finite number of partitions and there is
an infinite number of keys. Whenever ignite topology changes, Ignite must
rebalance data to the new nodes (or to the existing nodes). In this case,
Ignite needs to know when a certain partition is moved to another node. If
there were no partitions, then it would be impossible to tell when to
finish the rebalancing process.

D.
Reply | Threaded
Open this post in threaded view
|

Re: A quick question on cluster topology and partitions?

John Wilson
Regarding 1. I'm referring to the documentation here,
https://apacheignite.readme.io/docs/topology-validation, which states
"*Topology
validator is used to verify that cluster topology is valid for further
cache operations*." and "*If topology validator is not configured, then the
cluster topology is always considered to be valid.*"

Thanks,

On Mon, Jul 2, 2018 at 4:21 PM, Dmitriy Setrakyan <[hidden email]>
wrote:

> On Mon, Jul 2, 2018 at 4:03 PM, John Wilson <[hidden email]>
> wrote:
>
> > Hi,
> >
> >
> >    1. What exactly is a cluster topology? What makes a cluster topology
> >    invalid for further cache operations?
> >
>
> Cluster topology is a set of Ignite nodes in the cluster. I do not think a
> cluster topology could be invalid on its own. Perhaps you are asking about
> a situation when after a certain number of node failures/stops we can be in
> a situation where all primary and backup copies become inaccessible. In
> that case, the cluster should enter a read-only state for the lost
> partitions.
>
>
> >    2.  Why do we have the concept of partitions in Ignite? Why don't we
> >    have a key-to-node mapping rather than a key-to-partition and a
> >    partition-to-node mapping?
> >
>
> Main reason is because there is a finite number of partitions and there is
> an infinite number of keys. Whenever ignite topology changes, Ignite must
> rebalance data to the new nodes (or to the existing nodes). In this case,
> Ignite needs to know when a certain partition is moved to another node. If
> there were no partitions, then it would be impossible to tell when to
> finish the rebalancing process.
>
> D.
>
Reply | Threaded
Open this post in threaded view
|

Re: A quick question on cluster topology and partitions?

dsetrakyan
On Mon, Jul 2, 2018 at 5:20 PM, John Wilson <[hidden email]> wrote:

> Regarding 1. I'm referring to the documentation here,
> https://apacheignite.readme.io/docs/topology-validation, which states
> "*Topology
> validator is used to verify that cluster topology is valid for further
> cache operations*." and "*If topology validator is not configured, then the
> cluster topology is always considered to be valid.*"
>

Yup. In this case, my answer is correct.


>
> Thanks,
>
> On Mon, Jul 2, 2018 at 4:21 PM, Dmitriy Setrakyan <[hidden email]>
> wrote:
>
> > On Mon, Jul 2, 2018 at 4:03 PM, John Wilson <[hidden email]>
> > wrote:
> >
> > > Hi,
> > >
> > >
> > >    1. What exactly is a cluster topology? What makes a cluster topology
> > >    invalid for further cache operations?
> > >
> >
> > Cluster topology is a set of Ignite nodes in the cluster. I do not think
> a
> > cluster topology could be invalid on its own. Perhaps you are asking
> about
> > a situation when after a certain number of node failures/stops we can be
> in
> > a situation where all primary and backup copies become inaccessible. In
> > that case, the cluster should enter a read-only state for the lost
> > partitions.
> >
> >
> > >    2.  Why do we have the concept of partitions in Ignite? Why don't we
> > >    have a key-to-node mapping rather than a key-to-partition and a
> > >    partition-to-node mapping?
> > >
> >
> > Main reason is because there is a finite number of partitions and there
> is
> > an infinite number of keys. Whenever ignite topology changes, Ignite must
> > rebalance data to the new nodes (or to the existing nodes). In this case,
> > Ignite needs to know when a certain partition is moved to another node.
> If
> > there were no partitions, then it would be impossible to tell when to
> > finish the rebalancing process.
> >
> > D.
> >
>