Why do distribution lists have a zimbraMailHost attribute?

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
mrgus
Posts: 6
Joined: Fri Jun 13, 2014 11:22 am

Why do distribution lists have a zimbraMailHost attribute?

Post 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.
User avatar
tonster
Zimbra Employee
Zimbra Employee
Posts: 313
Joined: Fri Feb 21, 2014 10:14 am
Location: Ypsilanti, MI
ZCS/ZD Version: Release 8.7.0_GA_1659.RHEL6_64_2016

Re: Why do distribution lists have a zimbraMailHost attribute?

Post 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.
User avatar
msquadrat
Advanced member
Advanced member
Posts: 183
Joined: Mon Oct 14, 2013 10:09 am

Re: Why do distribution lists have a zimbraMailHost attribute?

Post 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?
User avatar
tonster
Zimbra Employee
Zimbra Employee
Posts: 313
Joined: Fri Feb 21, 2014 10:14 am
Location: Ypsilanti, MI
ZCS/ZD Version: Release 8.7.0_GA_1659.RHEL6_64_2016

Re: Why do distribution lists have a zimbraMailHost attribute?

Post 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
User avatar
msquadrat
Advanced member
Advanced member
Posts: 183
Joined: Mon Oct 14, 2013 10:09 am

Re: Why do distribution lists have a zimbraMailHost attribute?

Post 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.
Post Reply