Page 1 of 1

Why do distribution lists have a zimbraMailHost attribute?

Posted: Fri Jul 17, 2015 4:02 pm
by mrgus
Each distribution list has a zimbraMailHost attribute. Accounts and resources have these, as they store data on the mailbox servers. Distribution lists are, as far as I'm aware, completely implemented as ldap records with no data in mysql, lucene or the message store. However, if the zimbraMailHost attribute references a server that is down or no longer exists, then the web client will error when viewing that distribution list in the distribution list contact folder. There is no concept of "moving" a distribution list to another server (though it's easy enough to change the attribute).
What is the purpose of having the zimbraMailHost attribute? Wouldn't it be better to not have the attribute, and just have the web client reference whatever mailbox server the user is on? This would prevent either outages or admin mistakes (ie an admin moved all accounts off a mailbox server and shut it down, but failed to change all the zimbraMailHost attributes) from causing user-noticeable issues on active mailbox servers referencing these distribution lists.
Just curious. Thanks.

Re: Why do distribution lists have a zimbraMailHost attribute?

Posted: Thu Mar 14, 2019 12:26 pm
by tonster
mrgus wrote:Each distribution list has a zimbraMailHost attribute. Accounts and resources have these, as they store data on the mailbox servers. Distribution lists are, as far as I'm aware, completely implemented as ldap records with no data in mysql, lucene or the message store. However, if the zimbraMailHost attribute references a server that is down or no longer exists, then the web client will error when viewing that distribution list in the distribution list contact folder. There is no concept of "moving" a distribution list to another server (though it's easy enough to change the attribute).
What is the purpose of having the zimbraMailHost attribute? Wouldn't it be better to not have the attribute, and just have the web client reference whatever mailbox server the user is on? This would prevent either outages or admin mistakes (ie an admin moved all accounts off a mailbox server and shut it down, but failed to change all the zimbraMailHost attributes) from causing user-noticeable issues on active mailbox servers referencing these distribution lists.
Just curious. Thanks.
I dug around until I found the definitive answer for your question, as it's been quite awhile and it was a little fuzzy even for me. Here's details from [bug]68033[/bug]:

We now support user manageable groups ([bug]42912[/bug], [bug]48093[/bug]) . For data integrity, all mods and get of user owned groups must be proxied to and executed on the same server. Groups(both static and dynamic) now has a "home server" like accounts, specified in zimbraMailHost attribute (this attr already exists on groups before 8.0, but it's not used). Note: Home server for groups is for proxy purpose only, there is no database item for groups.

see checkin notes in https://bugzilla.zimbra.com/show_bug.cgi?id=66412#c6for how a server is chosen by the server, if no one is provided on the CreateDistributionList call.

So from that, mostly the "home" for a DL is unused, but there are a few circumstances that require it, which you may or may not actually use. Dynamic DL's and User-Managed DL's would be the two main uses. If you don't make use of either of these (and User-Managed DL's are unavailable in FOSS, I believe), then you may never find a use for that attribute being set.

Re: Why do distribution lists have a zimbraMailHost attribute?

Posted: Thu Mar 14, 2019 12:40 pm
by msquadrat
tonster wrote:
mrgus wrote:Each distribution list has a zimbraMailHost attribute. Accounts and resources have these, as they store data on the mailbox servers. Distribution lists are, as far as I'm aware, completely implemented as ldap records with no data in mysql, lucene or the message store. However, if the zimbraMailHost attribute references a server that is down or no longer exists, then the web client will error when viewing that distribution list in the distribution list contact folder. There is no concept of "moving" a distribution list to another server (though it's easy enough to change the attribute).
What is the purpose of having the zimbraMailHost attribute? Wouldn't it be better to not have the attribute, and just have the web client reference whatever mailbox server the user is on? This would prevent either outages or admin mistakes (ie an admin moved all accounts off a mailbox server and shut it down, but failed to change all the zimbraMailHost attributes) from causing user-noticeable issues on active mailbox servers referencing these distribution lists.
Just curious. Thanks.
I dug around until I found the definitive answer for your question, as it's been quite awhile and it was a little fuzzy even for me. Here's details from [bug]68033[/bug]:

We now support user manageable groups ([bug]42912[/bug], [bug]48093[/bug]) . For data integrity, all mods and get of user owned groups must be proxied to and executed on the same server. Groups(both static and dynamic) now has a "home server" like accounts, specified in zimbraMailHost attribute (this attr already exists on groups before 8.0, but it's not used). Note: Home server for groups is for proxy purpose only, there is no database item for groups.

see checkin notes in https://bugzilla.zimbra.com/show_bug.cgi?id=66412#c6for how a server is chosen by the server, if no one is provided on the CreateDistributionList call.

So from that, mostly the "home" for a DL is unused, but there are a few circumstances that require it, which you may or may not actually use. Dynamic DL's and User-Managed DL's would be the two main uses. If you don't make use of either of these (and User-Managed DL's are unavailable in FOSS, I believe), then you may never find a use for that attribute being set.
Thanks for digging that up. I didn't test it on a recent 8.8: As mentioned in the original post does this cause [bug]106044[/bug] (I guess you are more familiar with [bug]105550[/bug] which is essentially the same issue). Is this fixed in recent versions?

Re: Why do distribution lists have a zimbraMailHost attribute?

Posted: Thu Mar 14, 2019 2:49 pm
by tonster
msquadrat wrote:
tonster wrote:
mrgus wrote:Each distribution list has a zimbraMailHost attribute. Accounts and resources have these, as they store data on the mailbox servers. Distribution lists are, as far as I'm aware, completely implemented as ldap records with no data in mysql, lucene or the message store. However, if the zimbraMailHost attribute references a server that is down or no longer exists, then the web client will error when viewing that distribution list in the distribution list contact folder. There is no concept of "moving" a distribution list to another server (though it's easy enough to change the attribute).
What is the purpose of having the zimbraMailHost attribute? Wouldn't it be better to not have the attribute, and just have the web client reference whatever mailbox server the user is on? This would prevent either outages or admin mistakes (ie an admin moved all accounts off a mailbox server and shut it down, but failed to change all the zimbraMailHost attributes) from causing user-noticeable issues on active mailbox servers referencing these distribution lists.
Just curious. Thanks.
I dug around until I found the definitive answer for your question, as it's been quite awhile and it was a little fuzzy even for me. Here's details from [bug]68033[/bug]:

We now support user manageable groups ([bug]42912[/bug], [bug]48093[/bug]) . For data integrity, all mods and get of user owned groups must be proxied to and executed on the same server. Groups(both static and dynamic) now has a "home server" like accounts, specified in zimbraMailHost attribute (this attr already exists on groups before 8.0, but it's not used). Note: Home server for groups is for proxy purpose only, there is no database item for groups.

see checkin notes in https://bugzilla.zimbra.com/show_bug.cgi?id=66412#c6for how a server is chosen by the server, if no one is provided on the CreateDistributionList call.

So from that, mostly the "home" for a DL is unused, but there are a few circumstances that require it, which you may or may not actually use. Dynamic DL's and User-Managed DL's would be the two main uses. If you don't make use of either of these (and User-Managed DL's are unavailable in FOSS, I believe), then you may never find a use for that attribute being set.
Thanks for digging that up. I didn't test it on a recent 8.8: As mentioned in the original post does this cause [bug]106044[/bug] (I guess you are more familiar with [bug]105550[/bug] which is essentially the same issue). Is this fixed in recent versions?
I'm doubtful that has been addressed. You should be able to use the CLI to fix this, though. zmprov mdl dl@domain.com zimbraMailHost newhost.domain.com

Re: Why do distribution lists have a zimbraMailHost attribute?

Posted: Thu Mar 14, 2019 2:57 pm
by msquadrat
tonster wrote:
msquadrat wrote:
tonster wrote:
I dug around until I found the definitive answer for your question, as it's been quite awhile and it was a little fuzzy even for me. Here's details from [bug]68033[/bug]:

We now support user manageable groups ([bug]42912[/bug], [bug]48093[/bug]) . For data integrity, all mods and get of user owned groups must be proxied to and executed on the same server. Groups(both static and dynamic) now has a "home server" like accounts, specified in zimbraMailHost attribute (this attr already exists on groups before 8.0, but it's not used). Note: Home server for groups is for proxy purpose only, there is no database item for groups.

see checkin notes in https://bugzilla.zimbra.com/show_bug.cgi?id=66412#c6for how a server is chosen by the server, if no one is provided on the CreateDistributionList call.

So from that, mostly the "home" for a DL is unused, but there are a few circumstances that require it, which you may or may not actually use. Dynamic DL's and User-Managed DL's would be the two main uses. If you don't make use of either of these (and User-Managed DL's are unavailable in FOSS, I believe), then you may never find a use for that attribute being set.
Thanks for digging that up. I didn't test it on a recent 8.8: As mentioned in the original post does this cause [bug]106044[/bug] (I guess you are more familiar with [bug]105550[/bug] which is essentially the same issue). Is this fixed in recent versions?
I'm doubtful that has been addressed. You should be able to use the CLI to fix this, though. zmprov mdl dl@domain.com zimbraMailHost newhost.domain.com
Could you raise a ZBUG for that then?

IIRC you have to call zmprov with -l because the attribute is protected in the SOAP API.