If my last mail is correct, it sounds a bit bug prone. You are not allowed to create a single write transaction that writes to multiple shards. How can you know in the code if you are writing to different shards or not ? If you want to be on the safe side, you should avoid writing to different trees in a single transaction, because different trees could potentially be split to different shards. Am I understanding correctly?
From: Sela, Guy Sent: Wednesday, January 11, 2017 5:07 PM To: 'Tom Pantelis' <tompante...@gmail.com> Cc: Robert Varga <n...@hq.sk>; Kochba, Alon <alo...@hpe.com>; Williams, Marcus <marcus.willi...@intel.com>; Daniel Farrell <dfarr...@redhat.com>; odl netvirt dev <netvirt-...@lists.opendaylight.org>; controller-dev@lists.opendaylight.org; integration-...@lists.opendaylight.org Subject: RE: [netvirt-dev] [controller-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore Oh so that’s really different than option 1 I wrote. You are saying that I have a capability of creating shards by taking different yang trees and combining them into shards?. My smallest unit of work is a yang tree ? I still don’t see how it is done. Let’s say I wanted to take the 2 trees in my example and put them in one shard only for them. How will module-shards.conf look like and how will modules.conf will look like? If you have an example of that in some WIKI, you can just point me to that. From: Tom Pantelis [mailto:tompante...@gmail.com] Sent: Wednesday, January 11, 2017 4:58 PM To: Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>> Cc: Robert Varga <n...@hq.sk<mailto:n...@hq.sk>>; Kochba, Alon <alo...@hpe.com<mailto:alo...@hpe.com>>; Williams, Marcus <marcus.willi...@intel.com<mailto:marcus.willi...@intel.com>>; Daniel Farrell <dfarr...@redhat.com<mailto:dfarr...@redhat.com>>; odl netvirt dev <netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>>; controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>; integration-...@lists.opendaylight.org<mailto:integration-...@lists.opendaylight.org> Subject: Re: [netvirt-dev] [controller-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore Shards are (currently) statically configured in module-shards.conf. There's 3 OOB - "topology", "inventory", and "default". Anything not under topology and inventory go into the default shard. On Wed, Jan 11, 2017 at 9:51 AM, Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>> wrote: So what you mean is that if I create a yang tree in a yang file, it will ultimately translate into maximum two shards? One for the operational and one for the configuration? So for example elan.yang: container elan-interface-forwarding-entries { config false; list elan-interface-mac { key "elan-interface"; description "All the MAC addresses learned on a particular elan interface"; max-elements "unbounded"; min-elements "0"; leaf elan-interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } uses forwarding-entries; } } container elan-tag-name-map { config false; list elan-tag-name { key elan-tag; leaf elan-tag { type uint32; } leaf name { type string; description "The name of the elan-instance."; } } } These 2 only live in the operational (Because config false), so it means 2 Shards ? -----Original Message----- From: Robert Varga [mailto:n...@hq.sk<mailto:n...@hq.sk>] Sent: Wednesday, January 11, 2017 4:45 PM To: Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>>; Tom Pantelis <tompante...@gmail.com<mailto:tompante...@gmail.com>>; Kochba, Alon <alo...@hpe.com<mailto:alo...@hpe.com>> Cc: Williams, Marcus <marcus.willi...@intel.com<mailto:marcus.willi...@intel.com>>; Daniel Farrell <dfarr...@redhat.com<mailto:dfarr...@redhat.com>>; odl netvirt dev <netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>>; controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>; integration-...@lists.opendaylight.org<mailto:integration-...@lists.opendaylight.org> Subject: Re: [netvirt-dev] [controller-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore On 01/11/2017 03:42 PM, Sela, Guy wrote: > I have some blurriness about what a shard is, that I still didn’t > figure out. > > I have some guesses: > > 1) Every yang tree == one shard. > > 2) Shard can be a collection of a number of yang trees. > > 3) None of the above? > Mostly 1. Each shard encapsulates a single ShardDataTree, which encapsulates a single DataTree. The sum of shards is presented as the data store (CDS). Regards, Robert
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev