Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-5406

jemalloc 5.0.x causes TokuDB/PerconaFT to assert on load

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Pending Release
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.7.23-25, 5.6.43-84.3, 8.0.13-4
    • Fix Version/s: 8.0.15-5, 5.6.NEXT, 5.7.NEXT
    • Component/s: TokuDB
    • Labels:
      None

      Description

      mallctl_f("opt.lg_chunk", ...) is failing in memory init with jemalloc 5.1.0.  It seems this was removed in 5.0.0 https://github.com/jemalloc/jemalloc/releases/tag/5.0.0 and 5.0 no longer operates with the concept of lg_chunk :

       

      "opt.lg_chunk" (size_t) r-
      Virtual memory chunk size (log base 2). If a chunk size outside the supported size range is specified, the size is silently clipped to the minimum/maximum supported size. The default chunk size is 4 MiB (2^22).
      

      There is no equivalent replacement functionality.

       For this specific issue, lg_chunk is used by PerconaFT to set the threshold where allocations will switch to using mmap instead of the standard allocator.  It is reasonable to recognize the lg_chunk query failure and pick a rational value and continue on rather than failing and asserting.  For the older jemalloc, this value was 4MB by default.  We should  use 4MB in the case that the lg_chunk query fails.

        Smart Checklist

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  george.lorch George Lorch
                  Reporter:
                  george.lorch George Lorch
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - Not Specified
                    Not Specified
                    Logged:
                    Time Spent - 1 day, 1 hour
                    1d 1h