Re: Xapian partition definition when using archiving?

2017-12-28 Thread ellie timoney
> It's really the default search tier to use, and has no direct
> relationship to the "default" partition.
Yep, or at least, this is my understanding too.

> In other words, this is just another circumstance where seemingly
> obvious partition names (like default-default) get us into
> documentation trouble.  Right?
We trip over this all the time... and it's hard to document because
the trivial case and the complicated cases are so divergent.  Even
at FM, where our setup is pretty advanced, it's still relatively
simple, in that we only have a single partition-*name* entry
("default") per Cyrus instance.  So all of our *foo*partition-*name*
settings are *foo*partition-default!
I guess what I'm getting at is there's a few dimensions of complexity
here.  I think the "multiple-named-partitions" dimension of complexity
might be reasonably well documented, but then each additional dimension
(e.g. archive partitions, search tiers, etc) is only documented for the
single-named-default-partition case.
It'd be great if the documentation could move away from the "single
partition is named 'default'" scheme -- I think that would ease a LOT of
confusion for people trying to understand the different dimensions all
at once.  But I don't really have any ideas for what might be a better
name for it.  I haven't seen real-world multi-partition Cyrus instances,
so I don't know the use cases for having multiple partitions, so it's
hard to suggest a good name for someone's first and maybe only
partition.
Cheers,

ellie

On Fri, Dec 29, 2017, at 4:47 AM, Nic Bernstein wrote:
> Bron, et al.,
> Okay, one more time around on this.  When I try a version of the
> partition layout listed below, in my original post, and run "cyr_info
> conf-lint" against it, I get all of the "*yadda*searchtier: blah"
> lines thrown back at me.  I had assumed that "*default*searchtier:
> blah" was to specify to which tier to index the default partition, but
> that's wrong, isn't it?  It's really the default search tier to use,
> and has no direct relationship to the "default" partition.> 
> Am I correct in this new interpretation?  It is implied by the man
> page for imapd.conf (derived from lib/imapoptions):>
>   defaultsearchtier:  Name of the default tier
>   that messages will be indexed to. Search indexes can be
>   organized in tiers to allow index storage in different
>   directories and physical media. See the man page of squatter
>   for details. The default  search tier also requires the
>   definition of an according searchtierpartition-name entry.
>   This option MUST be specified for xapian search. ... 
> searchtierpartition-
>   name:  The  pathname where to store the xapian search
>   indexes of searchtier for mailboxes of partition name. This
>   must be configured for the defaultsearchtier and any
>   additional search tier (see squatter for details).  For
>   example: if defaultpartition is defined as part1 and
>   defaultsearchtier as tier1 then  the  configuration  must
>   contain  an  entry tier1partitionname-part1 that defines the
>   path where to store this tier1's search index for the part1
>   partition.  This option MUST be specified for xapian search.
>> This is all so muddled, due to the use of the word "default" as an
> embedded string within so many settings, some of which refer to a
> default value and some of which refer to a partition called "default".
> I really think we need to go through the documentation from top to
> bottom and weed out such confusing language.  The same is true for the
> various uses of the word "archive" and some others.  This sort of
> thing is clearly leading to some folks just giving up on complex Cyrus
> features, the implementation of which depend upon piercing the veil of
> confusion surround this language (he says in frustration).> 
> Oh, and that imapd.conf(5) comment "(see sqautter for details)" is
> useless, as the squatter(8) man page says nothing about this (damn
> manpage writers!).> 
> Thanks in advance,
> -nic
> 
> 
> On 12/20/2017 04:04 PM, Bron Gondwana wrote:
>> Totally!  The name "archive" is overused.  It could be called
>> something else easily enough.>> 
>> Bron.
>> 
>> 
>> On Thu, 21 Dec 2017, at 01:05, Nic Bernstein wrote:
>>> Bron,
>>> Thanks for the swift reply.  So if I understand this correctly, the
>>> "archivesearchpartition-default" is named such because it's for the
>>> archive location of Xapian search data, not because it's Xapian
>>> search data from an Archive partition.  Is that correct?  In other
>>> words, this is just another circumstance where seemingly obvious
>>> partition names (like default-default) get us into documentation
>>> trouble.  Right?>>> 
>>> Thanks again,
>>> -nic
>>> 
>>> 
>>> On 12/20/2017 05:39 AM, Bron Gondwana wrote:
 Hi Nic,
 
 The Xapian partitions are entirely separate from archive
 

Re: Xapian partition definition when using archiving?

2017-12-28 Thread Nic Bernstein

Bron, et al.,
Okay, one more time around on this.  When I try a version of the 
partition layout listed below, in my original post, and run "cyr_info 
conf-lint" against it, I get all of the "/yadda/searchtier: blah" lines 
thrown back at me.  I had assumed that "/default/searchtier: blah" was 
to specify to which tier to index the default partition, but that's 
wrong, isn't it?  It's really the default search tier to use, and has no 
direct relationship to the "default" partition.


Am I correct in this new interpretation?  It is implied by the man page 
for imapd.conf (derived from lib/imapoptions):


  defaultsearchtier: 
  Name of the default tier that messages will be indexed to. Search 
indexes can be organized in tiers to allow index
  storage in different directories and physical media. See the man 
page of squatter for details. The default  search
  tier also requires the definition of an according 
searchtierpartition-name entry.

  This option MUST be specified for xapian search.
...
  searchtierpartition-name: 
  The  pathname where to store the xapian search indexes of 
searchtier for mailboxes of partition name. This must be
  configured for the defaultsearchtier and any additional search 
tier (see squatter for details).

  For example: if defaultpartition is defined as part1 and 
defaultsearchtier as tier1 then  the  configuration  must
  contain  an  entry tier1partitionname-part1 that defines the path 
where to store this tier1's search index for the
  part1 partition.

  This option MUST be specified for xapian search.

This is all so muddled, due to the use of the word "default" as an 
embedded string within so many settings, some of which refer to a 
default value and some of which refer to a partition called "default".  
I really think we need to go through the documentation from top to 
bottom and weed out such confusing language.  The same is true for the 
various uses of the word "archive" and some others. This sort of thing 
is clearly leading to some folks just giving up on complex Cyrus 
features, the implementation of which depend upon piercing the veil of 
confusion surround this language (he says in frustration).


Oh, and that imapd.conf(5) comment "(see sqautter for details)" is 
useless, as the squatter(8) man page says nothing about this (damn 
manpage writers!).


Thanks in advance,
    -nic

On 12/20/2017 04:04 PM, Bron Gondwana wrote:
Totally!  The name "archive" is overused.  It could be called 
something else easily enough.


Bron.


On Thu, 21 Dec 2017, at 01:05, Nic Bernstein wrote:

Bron,
Thanks for the swift reply.  So if I understand this correctly, the 
"archivesearchpartition-default" is named such because it's for the 
archive location of Xapian search data, not because it's Xapian 
search data from an Archive partition.  Is that correct?  In other 
words, this is just another circumstance where seemingly obvious 
partition names (like default-default) get us into documentation 
trouble.  Right?


Thanks again,
    -nic


On 12/20/2017 05:39 AM, Bron Gondwana wrote:

Hi Nic,

The Xapian partitions are entirely separate from archive 
partitions.  The indexing code will find the file in the correct 
location if it needs to read it.


Here's an example from one of our servers:

defaultpartition: default
defaultsearchtier: temp
partition-default: /mnt/ssd21d2/sloti21d2t40/store254/spool
tempsearchpartition-default: /tmpfs-search/sloti21d2t40
metasearchpartition-default: /mnt/ssd21d2/sloti21d2t40/store254/search
datasearchpartition-default: 
/mnt/i21d2search/sloti21d2t40/store254/search
archivesearchpartition-default: 
/mnt/i21d2search/sloti21d2t40/store254/search-archive
archivepartition-default: 
/mnt/i21d2t40/sloti21d2t40/store254/spool-archive


(clearly auto-generated!)

Bron.


On Wed, 20 Dec 2017, at 07:32, Nic Bernstein wrote:

Bron, et al.,
We're about to set up a whole new bunch of partitions in support of 
Xapian indexing, for a 2.5.10-to-3.0.4 upgrade, and then will be 
introducing archive functionality, too.  How do archive partitions 
and Xapian partitions interact?


For example, the server currently has the following in imapd.conf:

defaultpartition: default
partition-default: /var/mailstores/default
metapartition-default: /var/imapmeta/default
partition-1: /var/mailstores/1
partition-2: /var/mailstores/2
partition-3: /var/mailstores/3
partition-4: /var/mailstores/4
...
partition-29: /var/mailstores/29
partition-30: /var/mailstores/30
partition-100: /var/mailstores/100
partition-temp: /var/mailstores/temp
...
# non-default metapartitions
metapartition-1: /var/imapmeta/1
metapartition-2: /var/imapmeta/2
metapartition-3: /var/imapmeta/3
metapartition-4: /var/imapmeta/4
...
metapartition-29: /var/imapmeta/29
metapartition-30: 

Accidental push to master branch

2017-12-28 Thread Bron Gondwana
I accidentally pushed a few FastMail internal patches to master and then
turned off branch protection for a few moments and force pushed an
earlier commit.  Sorry to anyone who happened to pull in those few
seconds!  Branch protection is back on again now.
There's nothing secret in there, it's just a pain to push a bunch
of reverts.
Regards,

Bron.


--
  Bron Gondwana, CEO, FastMail Pty Ltd
  br...@fastmailteam.com