Loading ...
Sorry, an error occurred while loading the content.

Re: Transport maps in MySQL

Expand Messages
  • Reindl Harald
    DO NOT POST HTML-MESSAGES ... in short: if you use mysql for your config your mysqld MUST NOT be unreachable, ever at all, if your setup is OK this will never
    Message 1 of 7 , Mar 7, 2013
    • 0 Attachment
      DO NOT POST HTML-MESSAGES

      Am 07.03.2013 21:17, schrieb Alfredo Saldanha:
      > In line...
      > On 3/7/2013 1:37 PM, Alfredo Saldanha wrote:
      >>> Hi people,
      >>>
      >>> Simple question:
      >>>
      >>> Is safe use mysql to get the transport maps information? if the
      >>> connection with database drops ? is there cache?
      >>>
      >>> BR,
      >>>
      >>> Junix
      >>> 
      >
      >> The transport table is a critical table used by pretty much every
      >>part of postfix (by way of the trivial_rewrite service). If the
      >>mysql database is unavailable, no mail will flow. If the lookups
      >>are slow, all postfix performance will suffer.
      >
      > In case of mysql connection drop, Postfix doesn't use the last transport information ?
      > And another stuffs that use MySQL, like virtual aliases, users, etc. the message will be rejected ?
      >
      >>While it is certainly possible to successfully use mysql with
      >>transport, it will require some care and feeding -- especially for a
      >>high-volume server.
      >
      > OK.
      >
      >>Transport tables don't usually change frequently, and it's better to
      >>keep that information in a local hash: or cdb: table for both
      >>performance and availability. If you want to keep everything in
      >>mysql, consider creating a process to periodically dump the data to
      >>a local hash: or cdb: table.

      in short: if you use mysql for your config your mysqld MUST NOT
      be unreachable, ever at all, if your setup is OK this will never
      happen - i am saying this after 5 years dbmail where ANYTHING
      is in a innodb-database, not only postfix-config

      never ever shutdown mysql alone, make sure you always stop any
      mail-service before, make sure any mailservice is stopped before
      mysqld at reboot/shutdown, make sure your mysqld is high available
      with replication and you are fine
    • Alfredo Saldanha
      Sorry, this was my email client. Thank you for answers. ... De: Reindl Harald Para: postfix-users@postfix.org Enviadas:
      Message 2 of 7 , Mar 7, 2013
      • 0 Attachment
        Sorry, this was my email client.

        Thank you for answers.

        ----- Mensagem original -----
        De: "Reindl Harald" <h.reindl@...>
        Para: postfix-users@...
        Enviadas: Quinta-feira, 7 de Março de 2013 17:22:36
        Assunto: Re: Transport maps in MySQL

        DO NOT POST HTML-MESSAGES

        Am 07.03.2013 21:17, schrieb Alfredo Saldanha:
        > In line...
        > On 3/7/2013 1:37 PM, Alfredo Saldanha wrote:
        >>> Hi people,
        >>>
        >>> Simple question:
        >>>
        >>> Is safe use mysql to get the transport maps information? if the
        >>> connection with database drops ? is there cache?
        >>>
        >>> BR,
        >>>
        >>> Junix
        >>>
        >
        >> The transport table is a critical table used by pretty much every
        >>part of postfix (by way of the trivial_rewrite service). If the
        >>mysql database is unavailable, no mail will flow. If the lookups
        >>are slow, all postfix performance will suffer.
        >
        > In case of mysql connection drop, Postfix doesn't use the last transport information ?
        > And another stuffs that use MySQL, like virtual aliases, users, etc. the message will be rejected ?
        >
        >>While it is certainly possible to successfully use mysql with
        >>transport, it will require some care and feeding -- especially for a
        >>high-volume server.
        >
        > OK.
        >
        >>Transport tables don't usually change frequently, and it's better to
        >>keep that information in a local hash: or cdb: table for both
        >>performance and availability. If you want to keep everything in
        >>mysql, consider creating a process to periodically dump the data to
        >>a local hash: or cdb: table.

        in short: if you use mysql for your config your mysqld MUST NOT
        be unreachable, ever at all, if your setup is OK this will never
        happen - i am saying this after 5 years dbmail where ANYTHING
        is in a innodb-database, not only postfix-config

        never ever shutdown mysql alone, make sure you always stop any
        mail-service before, make sure any mailservice is stopped before
        mysqld at reboot/shutdown, make sure your mysqld is high available
        with replication and you are fine
      • Noel Jones
        ... If the transport table is unavailable, no mail will flow -- incoming mail will be deferred, mail in the queue will be temp-failed. There is no cache[1].
        Message 3 of 7 , Mar 7, 2013
        • 0 Attachment
          On 3/7/2013 2:17 PM, Alfredo Saldanha wrote:
          >> The transport table is a critical table used by pretty much every
          >>part of postfix (by way of the trivial_rewrite service). If the
          >>mysql database is unavailable, no mail will flow. If the lookups
          >>are slow, all postfix performance will suffer.
          >
          > In case of mysql connection drop, Postfix doesn't use the last
          > transport information ?
          > And another stuffs that use MySQL, like virtual aliases, users, etc.
          > the message will be rejected ?


          If the transport table is unavailable, no mail will flow -- incoming
          mail will be deferred, mail in the queue will be temp-failed. There
          is no cache[1].

          The transport table is particularly performance sensitive because
          it's used by the single-threaded trivial_rewrite service, which is
          referenced by every part of postfix. For a
          high-volume/high-performance server, it is recommended that
          transport tables use a local hash:, or better, cdb: file. This
          doesn't mean you can't use mysql, but it will require some care to
          insure availability and performance.

          As a general rule, when postfix references ANY table (not just
          mysql), if that table is unavailable an error will be issued and
          mail will be deferred until the table is again working. But not all
          tables are used by all postfix functions, and not all tables have
          the same impact on performance as transport.


          [1] there is a 1-element result cache to prevent postfix from
          looking up the same key repeatedly. This will not prevent table
          errors, nor is it intended to.




          -- Noel Jones
        Your message has been successfully submitted and would be delivered to recipients shortly.