Hi All. I have the following scenario. My cluster has 12 nodes. I have one
PARTITIONED cache named Documents and the type is <UUID, Documents> also the
number of backups of this cache is 1. 

My questions are the following:
1. Having my number of backups equals to 1, this means that any entry will
be stored in two different servers at any time. I believe one copy of the
entry must to be in the PRIMARY node of that partition and another second
copy should be in the BACKUP node for that partition. Does my assumption is
correct on this?

2. I was running a ScanQuery with local set to true in all of the nodes, it
means 12 times the same query, however only one node returns the entry that
I was looking for, which makes me think that the scan query is running only
over the PRIMARY cache in each of the nodes, I believe the scan query does
not consider the records that are stored in the BACKUP cache within the same
node, this is correct ?. If so it is possible to run a query that also
checks the BACKUP cache on the same node (check the PRIMARY and BACKUP on
each node). Having this will allow me to know if the record is the same in
the primary and within the backups or if they are not in sync when they
suppose to be.

My query was simple: 
    ScanQuery<UUID, Document> scanQuery = new ScanQuery<>(
                (IgniteBiPredicate<UUID, Document>) (uuid, doc) -> {
                    if (uuid.equals(UUID.fromString(originalUUID))) {
                        return true;
                    return false;

The result was empty in all of the nodes except in one of them, but I expect
that at least in two of them the response wasn't null, as I have one BACKUP
for each cache.

3. One last thing I was trying to verify how the propagation of the records
from the PRIMARY to the BACKUPS happens, I tried enabling events on the
cluster but that seems to be crazy expensive and bring my cluster to its
knees what I did was use (EVT_CACHE_OBJECT_PUT). 

Also I tried adding the cache listeners to the cache, but I get notice that
every single node hears that and the amount of logs is not ideal for my
purpose, I want to ask if there is a simple way like enable logging on a
specific class in which I can see some logging about when the cluster try to
save entries in the backups nodes for a specific cache and key? Also if
somebody can point me to some of the classes that are in charge of this
actions will be helpful.

Also, I tried the continuous query but again that does not seems to work as
I enable that in all of the host and the number of logs was not ideal,  I
just want to hear when a BACKUP cache receive a record to store on it. I
would like something like `HOST:xxxx received key=xxxx for cache=zzzz` but
just for attempts to write to the BACKUP caches.

Thanks in advance.

Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to