<div dir="ltr"><div>Hi Zenon,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 17, 2021 at 11:33 AM Zenon Panoussis &lt;<a href="mailto:oracle@provocation.net">oracle@provocation.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
I am trying to understand how cluster.readdir-optimize works<br>
on a full replica N volume.<br>
<br>
<a href="https://lists.gluster.org/pipermail/gluster-devel/2016-November/051417.html" rel="noreferrer" target="_blank">https://lists.gluster.org/pipermail/gluster-devel/2016-November/051417.html</a><br>
<br>
suggests that this setting can be useful on distributed<br>
volumes. On full replica volumes, every brick has 100% of<br>
the information required by readdir, so logically every<br>
request should be satisfied locally without any network<br>
traffic between bricks even if cluster.readdir-optimize<br>
is off. Is that not the case?<br></blockquote><div><br></div><div>cluster.readdir-optimize is an option for the distribution layer, not the replication layer.</div><div><br></div><div>On a distributed-replicated volume, each replicated subvolume has a full copy of the entire directory structure. Only files are created on one of the subvolumes. When the distribution layer wants to read one directory it needs to scan the directory contents of each replicated subvolume to locate all available files, but the list of subdirectories will be the same on all subvolumes (when everything is healthy). For this reason, once the directory contents of the first subvolume are read, there&#39;s no need to retrieve the subdirectories from the other subvolumes, only files are needed.</div><div><br></div><div>This option tells bricks to only return file entries when reading a directory (except for the first subvolume), reducing the number of disk accesses in some cases and the amount of data sent through the network.</div><div><br></div><div>This is specially useful for big volumes with many subvolumes and very big directory structures.</div><div><br></div><div>Regards,</div><div><br></div><div>Xavi</div></div></div>