1. 07 Apr, 2015 4 commits
    • Jan Lindström's avatar
      InnoDB/XtraDB Encryption code cleanup · af768c2f
      Jan Lindström authored
      Step 4:
      -- Review fixes
      -- Rename pages_page_* to pages_*
      -- Remove unnecessary code
      af768c2f
    • Jan Lindström's avatar
      Encryption cleanup · 71ec0463
      Jan Lindström authored
      Step 3:
      
      -- Make encrytion_algorithm changeable by SUPER
      -- Remove AES_ECB method from encryption_algorithms
      -- Support AES method change by storing used method on InnoDB/XtraDB objects
      -- Store used AES method to crypt_data as different crypt types
      -- Store used AES method to redo/undo logs and checkpoint
      -- Store used AES method on every encrypted page after key_version
      -- Add test
      71ec0463
    • Jan Lindström's avatar
      InnoDB/XtraDB Encryption cleanup · 0ba9fa35
      Jan Lindström authored
      Step 2:
      
      -- Introduce temporal memory array to buffer pool where to allocate
      temporary memory for encryption/compression
      -- Rename PAGE_ENCRYPTION -> ENCRYPTION
      -- Rename PAGE_ENCRYPTION_KEY -> ENCRYPTION_KEY
      -- Rename innodb_default_page_encryption_key -> innodb_default_encryption_key
      -- Allow enable/disable encryption for tables by changing
       ENCRYPTION to enum having values DEFAULT, ON, OFF
      -- In create table store crypt_data if ENCRYPTION is ON or OFF
      -- Do not crypt tablespaces having ENCRYPTION=OFF
      -- Store encryption mode to crypt_data and redo-log
      0ba9fa35
    • Jan Lindström's avatar
      InnoDB/XtraDB Encryption cleanup. · b4a4d823
      Jan Lindström authored
      Step 1:
      -- Remove page encryption from dictionary (per table
      encryption will be handled by storing crypt_data to page 0)
      -- Remove encryption/compression from os0file and all functions
      before that (compression will be added to buf0buf.cc)
      -- Use same CRYPT_SCHEME_1 for all encryption methods
      -- Do some code cleanups to confort InnoDB coding style
      b4a4d823
  2. 03 Apr, 2015 4 commits
  3. 01 Apr, 2015 1 commit
  4. 31 Mar, 2015 2 commits
  5. 30 Mar, 2015 4 commits
    • Kristian Nielsen's avatar
      Merge MDEV-7847 and MDEV-7882 into 10.0. · f573b65e
      Kristian Nielsen authored
      Conflicts:
      	mysql-test/suite/rpl/r/rpl_parallel.result
      	sql/rpl_parallel.cc
      f573b65e
    • Kristian Nielsen's avatar
      MDEV-7847: "Slave worker thread retried transaction 10 time(s) in vain, giving... · 880f2273
      Kristian Nielsen authored
      MDEV-7847: "Slave worker thread retried transaction 10 time(s) in vain, giving up", followed by replication hanging
      
      This patch fixes a bug in the error handling in parallel replication, when one
      worker thread gets a failure and other worker threads processing later
      transactions have to rollback and abort.
      
      The problem was with the lifetime of group_commit_orderer objects (GCOs).
      A GCO is freed when we register that its last event group has committed. This
      relies on register_wait_for_prior_commit() and wait_for_prior_commit() to
      ensure that the fact that T2 has committed implies that any earlier T1 has
      also committed, and can thus no longer execute mark_start_commit().
      
      However, in the error case, the code was skipping the
      register_wait_for_prior_commit() and wait_for_prior_commit() calls. Thus
      commit ordering was not guaranteed, and a GCO could be freed too early. Then a
      later mark_start_commit() would reference deallocated GCO, which could lead to
      lost wakeup (causing slave threads to hang) or other corruption.
      
      This patch makes also the error case respect commit order. This way, also the
      error case gets the GCO lifetime correct, and the hang no longer occurs.
      880f2273
    • Kristian Nielsen's avatar
      MDEV-7882: Excessive transaction retry in parallel replication · a4082918
      Kristian Nielsen authored
      When a transaction in parallel replication needs to retry (eg. because of
      deadlock kill), first wait for all prior transactions to commit before doing
      the retry. This way, we avoid the retry once again conflicting with a prior
      transaction, requiring yet another retry.
      
      Without this patch, we saw "in the wild" that transactions had to be retried
      more than 10 times to succeed, which exceeds the default
      --slave_transaction_retries value and is in any case undesirable.
      
      (We already do this in 10.1 in "optimistic" parallel replication mode; this
      patch just makes the code use the same logic for "conservative" mode (only
      mode in 10.0)).
      a4082918
    • Alexander Barkov's avatar
      Removing Item_string::m_cs_specified and · 59df1009
      Alexander Barkov authored
      making Item_string::is_cs_specified() virtual instead.
      59df1009
  6. 29 Mar, 2015 3 commits
  7. 27 Mar, 2015 2 commits
  8. 26 Mar, 2015 1 commit
    • Alexander Barkov's avatar
      Preparatory refactoring for: · 50eee605
      Alexander Barkov authored
      MDEV-6218 Wrong result of CHAR_LENGTH(non-BMP-character) with 3-byte utf8
      - Moving get_text() as a method to Lex_input_stream.
      - Moving the unescaping part into a separate function,
        this piece of code will later go to /strings most likely.
      - Removing Lex_input_string::yytoklen, as it's not needed any more.
      50eee605
  9. 25 Mar, 2015 7 commits
  10. 24 Mar, 2015 5 commits
  11. 23 Mar, 2015 1 commit
  12. 21 Mar, 2015 1 commit
  13. 20 Mar, 2015 5 commits