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

Don't disable ccache in ColumnStore CMake

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 5.5.1
    • Build
    • None

    Description

      While doing test builds, I noticed CS builds are super slow. The basic amd64 build increased from 45 minutes before CS merge on 10.5 to 4+ hours on Launchpad: https://launchpad.net/~mysql-ubuntu/+archive/ubuntu/mariadb-10.5/+builds?build_text=&build_state=all

      My Salsa-CI builds at https://salsa.debian.org/mariadb-team/mariadb-server/-/pipelines are timing out after 3 hours now all the time, so this phenomenon hurts the MCOL_4057 Debian packaging effort since I don't have full QA systems at disposal now.

      Related to this slowness, danblack noticed that storage/columnstore/columnstore/CMakeLists.txt is hard-coded to specifically disable ccache:

      OPTION(USE_CCACHE "reduce compile time with ccache." FALSE)
      if(NOT USE_CCACHE)
          set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "")
          set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "")
      else()
        find_program(CCACHE_FOUND ccache)
        if(CCACHE_FOUND)
            set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
            set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
        endif(CCACHE_FOUND)
      endif()
      

      Seems this was added by mott.david.j@gmail.com in https://github.com/mariadb-corporation/mariadb-columnstore-engine/commit/4b9d046c6e338d6fe63a8a960d9df62b6efb68f7 but there are no inline comments or git commit message about why this was made as is now.

      Could we please remove this setting and let ccache run automatically if it is installed and active in current path? That would be the logic the rest of the MariaDB Server follows and most other software in general. If a user has ccache on their system and gcc is wrapped with ccache, it feels kind of odd that for one component in MariaDB Server you specifically circumvent this?

      Otherwise I would need to add -DUSE_CCACHE=YES to debian/rules to activate this?

      Attachments

        1. screenshot-1.png
          screenshot-1.png
          42 kB
        2. screenshot-2.png
          screenshot-2.png
          143 kB
        3. screenshot-3.png
          screenshot-3.png
          141 kB
        4. screenshot-4.png
          screenshot-4.png
          6 kB

        Issue Links

          Activity

            People

              otto Otto Kekäläinen
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.