Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4689

Spurious [135B blob data] being put into PrimPrim jounralctl records

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.2, 6.1.1
    • 5.6.1
    • PrimProc
    • None
    • 2021-7

    Description

      Journalctl displays these weird records:

      $ journalctl -u mcs-primproc
      ...
      Mar 22 21:25:18 home env[83679]: [135B blob data]
      Mar 22 21:25:55 home env[83679]: [135B blob data]
      Mar 22 21:25:55 home env[83679]: [135B blob data]
      

      Running journalctl with --all helps to reveal what's the problem:

      $ journalctl --all -u mcs-primproc
      ...
      Mar 22 21:25:18 home env[83679]: ^GCharacter set '#3000' is not a compiled character set and is not specified in the '/opt/mariadb-10.5-cs/share/charsets/Index.xml' file
      Mar 22 21:25:18 home env[83679]: ^GCharacter set '#3000' is not a compiled character set and is not specified in the '/opt/mariadb-10.5-cs/share/charsets/Index.xml' file
      Mar 22 21:25:55 home env[83679]: ^GCharacter set '#3000' is not a compiled character set and is not specified in the '/opt/mariadb-10.5-cs/share/charsets/Index.xml' file
      

      Tracing the code revealed that this message is displayed by get_charset() function calls, which obviously gets and invalid charset ID as an argument.

      Further tracing revealed that the wrong charset ID is set in storage/columnstore/columnstore/dbcon/mysql/ha_mcs_execplan.cpp in this functions:

      SimpleColumn* getSmallestColumn(boost::shared_ptr<CalpontSystemCatalog> csc,
                                      CalpontSystemCatalog::TableName& tn,
                                      CalpontSystemCatalog::TableAliasName& tan,
                                      TABLE* table,
                                      gp_walk_info& gwi)
      ...
          tcn = csc->colName(oidlist[minWidthColOffset].objnum);
          SimpleColumn* sc = new SimpleColumn(tcn.schema, tcn.table, tcn.column, csc->sessionID());
          sc->tableAlias(tan.alias);
          sc->viewName(tan.view);
          sc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr());
          sc->resultType(csc->colType(oidlist[minWidthColOffset].objnum));
          sc->charsetNumber(3000);
          return sc;
      }
      

      This looks wrong. It should set charset ID either from my_charset_bin, or from the corresponding Field object.

      It seems the problem was introduced by MCOL-3536.

      Attachments

        Activity

          People

            drrtuy Roman
            bar Alexander Barkov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.