1. 02 Nov, 2017 3 commits
    • Monty's avatar
      Updated valgrind.supp · a17e7d07
      Monty authored
      a17e7d07
    • Monty's avatar
      Reduce memory used by maria_open · c127a1ba
      Monty authored
      - Allocate only enough memory that we need for key status
        - Saves ~100K temp usage on maria_open
      c127a1ba
    • Monty's avatar
      Reducing memory when using information schema · 9ec19b9b
      Monty authored
      The background is that one user had a lot of views and using some complex
      queries on information schema temporary memory of more than 2G was used.
      
      - Added new element 'total_alloc' to MEM_ROOT for easier debugging.
      - Added MAX_MEMORY_USED to information_schema.processlist.
      - Added new status variable "Memory_used_initial" that shows how much MariaDB
        uses at startup. This gives the base value for "Memory_used".
      - Reuse memory continuously for information schema queries instead of
        only freeing memory at query end.
      
      Other things
      - Removed some not needed set_notnull() calls for not null columns.
      9ec19b9b
  2. 01 Nov, 2017 3 commits
  3. 31 Oct, 2017 7 commits
  4. 30 Oct, 2017 10 commits
  5. 29 Oct, 2017 6 commits
  6. 27 Oct, 2017 11 commits
    • Vladislav Vaintroub's avatar
      MDEV-14115 : Do not use lpNumberOfBytesRead/Written params in · 97df230a
      Vladislav Vaintroub authored
      ReadFile/WriteFile operations.
      
      Innodb opens files with FILE_FLAG_OVERLAPPED. lpNumberOfBytesRead/Written
      are documented to be potentially inaccurate in this case,
      (possibly even if async operations complete synchronously?)
      
      The fix is to always pass NULL for the correspondng parameters,
      as recommended by  MSDN. Read the actual counts with
      GetQueuedCompletionStatus() or GetOverlappedResult().
      97df230a
    • Alexander Barkov's avatar
      5dd5253f
    • Marko Mäkelä's avatar
      MDEV-14132 follow-up fix: Make os_file_get_size() thread-safe · 067f8396
      Marko Mäkelä authored
      os_file_get_size(): Use fstat() instead of calling lseek() 3 times.
      In this way, concurrent calls to this function should not interfere
      with each other.
      
      Suggested by Vladislav Vaintroub.
      067f8396
    • Marko Mäkelä's avatar
      Remove a bogus page_is_root() debug assertion on btr_create() failure · 9dfe84d5
      Marko Mäkelä authored
      The predicate page_is_root() would not hold if btr_create() fails
      before the root page is fully initialized. Move the debug assertion
      from btr_free_root_invalidate() to its other caller,
      btr_free_if_exists(). In that caller, we actually already checked
      for page_is_root().
      9dfe84d5
    • Marko Mäkelä's avatar
      MDEV-14132 follow-up fix: Validate the posix_fallocate() argument · 5f5ffdc7
      Marko Mäkelä authored
      os_file_set_size(): Sometimes the file already is large enough.
      Avoid calling posix_fallocate() with a non-positive argument.
      Also, add a missing space to an error message.
      5f5ffdc7
    • Sergei Petrunia's avatar
      MDEV-11934: MariaRocks: Group Commit with binlog · 3d46ebbc
      Sergei Petrunia authored
      Adjust and enable rocksdb.2pc_group_commit test
      3d46ebbc
    • Vladislav Vaintroub's avatar
      MDEV-14132 : fix posix_fallocate() calls to workaround some (ancient) Linux bugs · 057a6cf7
      Vladislav Vaintroub authored
      With this patch, parameters passed to posix_fallocate() will be
      the same as they were prior to refactoring in  commit b731a5bc
      
      In particular, 'offset' parameter for posix_fallocate is again current_file_size
      and 'length' is new_file_size - current_file_size.
      
      This seems to fix crashes on ancient Linux (kernel 2.6).
      057a6cf7
    • Sergei Petrunia's avatar
      1792a80a
    • Marko Mäkelä's avatar
      MDEV-13890 mariabackup.xb_compressed_encrypted failed in buildbot, InnoDB: assertion failure · b94a62b5
      Marko Mäkelä authored
      The assertion failure was relaxed in
      commit 02ba15a9
      but it was not enough, because another assertion would fail.
      
      trx_undo_free_prepared(): Allow any undo log state. For transactions
      that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY
      the undo log state would have been reset by trx_undo_set_state_at_finish().
      b94a62b5
    • Marko Mäkelä's avatar
      Remove dead code for MLOG_UNDO_HDR_DISCARD · f29cfa1d
      Marko Mäkelä authored
      The redo log record MLOG_UNDO_HDR_DISCARD is never written, and
      the function trx_undo_discard_latest_update_undo() is never called
      outside crash recovery.
      
      Starting with MariaDB 10.2.2, crash recovery from an older InnoDB
      version is refused. Therefore, we can safely remove the code for
      parsing this long-unused redo log record type.
      
      The use of MLOG_UNDO_HDR_DISCARD was removed by Heikki Tuuri,
      the original designer and author of InnoDB, more than 13 years ago:
      
        commit 3caab0f3
        Author: unknown <heikki@hundin.mysql.fi>
        Date:   Thu Mar 18 14:57:22 2004 +0200
      
          trx0undo.h, trx0undo.c, trx0trx.c:
            Update an obsolete comment about trx commit: we can no longer call
            trx_undo_update_cleanup_by_discard(), and actually, the idea to
            call it was erroneous, it cannot work
      f29cfa1d
    • Marko Mäkelä's avatar
      Relax a too strict assertion at shutdown · 02ba15a9
      Marko Mäkelä authored
      trx_free_prepared(): The function trx_resurrect_insert()
      can resurrect a committed transaction when the TRX_UNDO_STATE
      field is not TRX_UNDO_ACTIVE or TRX_UNDO_PREPARED.
      (In the examined failure of mariabackup.xb_compressed_encrypted,
      assertion failure in --apply-log shutdown at line 25,
      the TRX_UNDO_STATE strangely contained the value 0xffff.)
      
      In any case, the assertion must allow the state
      TRX_STATE_COMMITTED_IN_MEMORY for resurrected transactions.
      02ba15a9