<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    That refers to the total length of the row. InnoDB has a limit of
    65k and NDB is limited to 14k. <br>
    <br>
    A simple example would be the volumes table in Cinder where the row
    length goes beyond 14k. So in the IF logic block, I change columns
    types that are vastly oversized such as status and attach_status,
    which by default are 255 chars. So to determine a more appropriate
    size, I look through the Cinder code to find where the possible
    options/states are for those columns. Then I cut it down to a more
    reasonable size. I'm very careful when I cut the size of a string
    column to ensure that all of the possible values can be contained.<br>
    <br>
    In cases where a column is extremely large for capturing the outputs
    of a command, I will change the type to Text or TinyText depending
    on the length required. A good example of this is in the agents
    table of Neutron where there is a column for configurations that has
    a string length of 4096 characters, which I change to Text. Text
    blobs are stored differently and do not count against the row
    length.<br>
    <br>
    I've also observed differences between Kilo, Mitaka, and tip where
    even for InnoDB some of these tables are getting wider than can be
    supported. So in the case of Cinder, some of the columns have been
    shifted to separate tables to fit within 65k. I've seen the same
    thing in Neutron. So I fully expect that some of the services that
    have table bloat will have to cut the lengths or break the tables up
    over time anyways. As that happens, it reduces the amount of work
    for me, which is a good thing.<br>
    <br>
    The most complicated database schemas to patch up are cinder,
    glance, neutron, and nova due to the size and complexity of their
    tables. Those also have a lot of churn between releases where the
    schema changes more often. Other services like keystone, heat, and
    ironic are considerably easier to work with and have well laid out
    tables that don't change much.<br>
    <br>
    Thanks,<br>
    Octave<br>
    <br>
    <div class="moz-cite-prefix">On 2/2/2017 1:25 PM, Mike Bayer wrote:<br>
    </div>
    <blockquote
      cite="mid:b69525f2-9f47-fc52-b576-380ffc627def@redhat.com"
      type="cite">
      <br>
      <br>
      On 02/02/2017 02:52 PM, Mike Bayer wrote:
      <br>
      <blockquote type="cite">
        <br>
        But more critically I noticed you referred to altering the names
        of
        <br>
        columns to suit NDB.  How will this be accomplished?   Changing
        a column
        <br>
        name in an openstack application is no longer trivial, because
        online
        <br>
        upgrades must be supported for applications like Nova and
        Neutron.  A
        <br>
        column name can't just change to a new name, both columns have
        to exist
        <br>
        and logic must be added to keep these columns synchronized.
        <br>
        <br>
      </blockquote>
      <br>
      correction, the phrase was "Row character length limits 65k ->
      14k" - does this refer to the total size of a row?  I guess rows
      that store JSON or tables like keystone tokens are what you had in
      mind here, can you give specifics ?
      <br>
      <br>
      <br>
      <br>
__________________________________________________________________________
      <br>
      OpenStack Development Mailing List (not for usage questions)
      <br>
      Unsubscribe:
      <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
      <br>
      <a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
      <br>
      <br>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <br>
      <p>
        <a href="http://www.oracle.com/" target="_blank"><img
            src="cid:part1.03050903.05040301@oracle.com" alt="Oracle"
            border="0" height="26" width="114"></a><br>
        <font color="#666666" size="2" face="Verdana, Arial, Helvetica,
          sans-serif">Octave J. Orgeron | Sr. Principal Architect and
          Software Engineer<br>
          <font color="#ff0000">Oracle</font> Linux OpenStack<br>
          Mobile: <a href="tel:+17206161550">+1-720-616-1550</a><br>
          500 Eldorado Blvd. | Broomfield, CO 80021<br>
          <a
href="http://www.oracle.com/us/solutions/enterprise-architecture/index.html"><img
              src="cid:part4.00050501.01040301@oracle.com"
              alt="Certified Oracle Enterprise Architect: Systems
              Infrastructure" border="0" height="42" width="182"></a><br>
          <a href="http://www.oracle.com/commitment" target="_blank"><img
              src="cid:part6.09030603.01020106@oracle.com" alt="Green
              Oracle" align="absmiddle" border="0" height="28"
              width="44"></a>
          <font color="#4B7D42" size="1" face="Verdana, Arial,
            Helvetica, sans-serif">Oracle is committed to developing
            practices and products that help protect the environment</font>
        </font></p>
      <font color="#666666" size="2" face="Verdana, Arial, Helvetica,
        sans-serif">
      </font></div>
  </body>
</html>