Hi Hui- A good place start is "*Understanding Partitioning*". [1] Then, read "*Understanding High Availability for Partitioned Regions*" [2] (pay particular attention to the section, "*Reads and Writes in Highly-Available Partitioned Regions*"). And finally, read "*Consistency Checking by Region Types*" [3] (reading the section, "*Partitioned Region Consistency*", should suffice).
Hope this helps, -John [1] http://geode.apache.org/docs/guide/12/developing/partitioned_regions/how_partitioning_works.html [2] http://geode.apache.org/docs/guide/12/developing/partitioned_regions/how_pr_ha_works.html [3] http://geode.apache.org/docs/guide/12/developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236 On Wed, Jan 10, 2018 at 6:45 AM, WANG Hui <[email protected]> wrote: > @Dareel and @John thanks a lot for your explanation. > > > > In the official doc, I didn’t find statements explaining “partitioned > region always acks and preserves consistency first and HA second”. Now > everything makes sense. > > > > @John would you please point out the codes where acks are handled in > partitioned region. I’d like to dig deeper into it. > > > > @Ani, ofc, are there any guides to follow to fire a ticket? > > > > Thank you all J > > > > *From:* John Blum [mailto:[email protected]] > *Sent:* mardi 9 janvier 2018 18:58 > *To:* [email protected] > *Cc:* WANG Hui <[email protected]> > > *Subject:* Re: Setting Scope on a Partitioned Regions is not allowed > > > > Hi Hui- > > > > FYI, when using *Spring Data for Apache Geode* (SDG) [1], it is less > confusing since SDG's XML namespace prevents a user from setting the scope > of a partitioned Region. It is also more apparent what type of Region a > user is creating. > > > > For example, SDG's XML namespace uses strongly typed elements for > different Region types, like PARTITION, or REPLICATE, etc... > > > > <*gfe**:partitioned-region **id=**"Example" **copies=**"${copies}" * > *off-heap=**"${off-heap}" **statistics=**"true" **...*> > > > > <*gfe**:replicated-region **id=**"Compressed" **persistent=**"false" * > *scope=**"..."*> > > > > In SDG's XML namespace [2], only the REPLICATE Region element (i.e. <*gfe* > *:replicated-region>*) has the "*scope*" attribute. There is no such > attribute on any of the other SDG XML > > namespace Region-type elements. > > > > However, this is not to say that if the "scope" of the resulting Region > [3] were queried (via RegionAttributes [4], getScope() [5]), that it would > not return the default value [6] (and specifically here [7]). > > > > It's just that, as *Darrel* said, scope has no meaning in the context of > PARTITION Regions, which are designed to preserve consistency first and > HA second (i.e. via redundancy, or copies), so the setting might be a bit > misleading > > > > -John > > > > > > [1] https://docs.spring.io/spring-data/geode/docs/current/reference/html/ > > [2] http://www.springframework.org/schema/gemfire/spring-gemfire.xsd > > [3] http://geode.apache.org/releases/latest/javadoc/org/ > apache/geode/cache/Region.html > > [4] http://geode.apache.org/releases/latest/javadoc/org/ > apache/geode/cache/Region.html#getAttributes-- > > [5] http://geode.apache.org/releases/latest/javadoc/org/ > apache/geode/cache/RegionAttributes.html#getScope-- > > [6] https://github.com/apache/geode/blob/rel/v1.3.0/geode- > core/src/main/java/org/apache/geode/cache/AttributesFactory.java#L1553 > > [7] https://github.com/apache/geode/blob/rel/v1.3.0/geode- > core/src/main/java/org/apache/geode/internal/cache/ > AbstractRegion.java#L162 > > > > > > On Tue, Jan 9, 2018 at 9:36 AM, Anilkumar Gingade <[email protected]> > wrote: > > Hui > > > > Can you file a ticket for this discrepancy... > > > > -Anil. > > > > > > On Tue, Jan 9, 2018 at 8:03 AM, Darrel Schneider <[email protected]> > wrote: > > This is the default value for the scope on region attributes. But > partitioned regions ignore the scope and always do ack. For clarity it > would be best if partitioned regions internally changed the scope when they > were created to ack to prevent this confusion. > > > > > > On Tue, Jan 9, 2018 at 12:43 AM, WANG Hui <[email protected]> wrote: > > Hello guys, > > > > Thanks for your prompt reply. However, when I list my region’s attributes > from jsconsole, I get the following screen. > > > > > > Thanks a lot, > > Hui > > > > *From:* Anilkumar Gingade [mailto:[email protected]] > *Sent:* lundi 8 janvier 2018 19:03 > *To:* [email protected] > *Subject:* Re: Setting Scope on a Partitioned Regions is not allowed > > > > Hi Hui, > > > > By default partitioned region scope is configured to "distributed-ack", > hence scope is not allowed to change....The write operations on partitioned > regions are performed first on primary buckets and replicated to > redundant/secondary buckets. > > > > -Anil. > > > > > > > > > > > > On Mon, Jan 8, 2018 at 9:24 AM, WANG Hui <[email protected]> wrote: > > Hello all, > > > > I get an error message saying “Setting Scope on a Partitioned Regions is > not allowed.” when trying to configure a region as following: > > > > *region-attributes **data-policy**="partition" **scope* > *="distributed-ack"* > > > > My goal is to verify the HA feature on partitioned region as specified > here : > > > > Write operations (like put and create) go to the primary for the data > keys and then are distributed synchronously to the redundant copies. > > > > How could the replication be done synchronously without *distributed-ack *? > > > > > Thanks a lot, > > Hui > > ******************************* > > This e-mail contains information for the intended recipient only. It may > contain proprietary material or confidential information. If you are not > the intended recipient you are not authorised to distribute, copy or use > this e-mail or any attachment to it. Murex cannot guarantee that it is > virus free and accepts no responsibility for any loss or damage arising > from its use. If you have received this e-mail in error please notify > immediately the sender and delete the original email received, any > attachments and all copies from your system. > > > > ******************************* > > This e-mail contains information for the intended recipient only. It may > contain proprietary material or confidential information. If you are not > the intended recipient you are not authorised to distribute, copy or use > this e-mail or any attachment to it. Murex cannot guarantee that it is > virus free and accepts no responsibility for any loss or damage arising > from its use. If you have received this e-mail in error please notify > immediately the sender and delete the original email received, any > attachments and all copies from your system. > > > > > > > > > > -- > > -John > > john.blum10101 (skype) > > ******************************* > > This e-mail contains information for the intended recipient only. It may > contain proprietary material or confidential information. If you are not > the intended recipient you are not authorised to distribute, copy or use > this e-mail or any attachment to it. Murex cannot guarantee that it is > virus free and accepts no responsibility for any loss or damage arising > from its use. If you have received this e-mail in error please notify > immediately the sender and delete the original email received, any > attachments and all copies from your system. > -- -John john.blum10101 (skype)
