It is not clear for me, from the documentation, which ancestor is a boundary for a transaction. The closest one, or the root one?
I have a root entity (A) and it has a few descendants (B1, B2 ... Bn) and those can have many ancestors (C1, C2...). I will make transactions on the C entities (Cs), which I will get with an ancestor query based on a B entity. Question is, will a change in Cs under B1 throw a ConcurrentModificationException
if another transaction changes some Cs under a B2 in the same time?
Do all the Cs belong to the same entity group under their grandparent A or are the entity groups also divided in smaller "sub - entity groups" i.e. every group of Cs under a B has their own entity group?