An error occurred fetching the project authors.
  1. 09 Jun, 2015 2 commits
  2. 04 Jun, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-8250: InnoDB: Page compressed tables are not compressed and... · f7002c05
      Jan Lindström authored
      MDEV-8250: InnoDB: Page compressed tables are not compressed and compressed+encrypted tables cause crash
      
      Analysis: Problem is that both encrypted tables and compressed tables use
      FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION to store
      required metadata. Furhermore, for only compressed tables currently
      code skips compression.
      
      Fixes:
      - Only encrypted pages store key_version to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
        no need to fix
      - Only compressed pages store compression algorithm to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
        no need to fix as they have different page type FIL_PAGE_PAGE_COMPRESSED
      - Compressed and encrypted pages now use a new page type FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED and
        key_version is stored on FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION and compression
        method is stored after FIL header similar way as compressed size, so that first
        FIL_PAGE_COMPRESSED_SIZE is stored followed by FIL_PAGE_COMPRESSION_METHOD
      - Fix buf_page_encrypt_before_write function to really compress pages if compression is enabled
      - Fix buf_page_decrypt_after_read function to really decompress pages if compression is used
      - Small style fixes
      f7002c05
  3. 02 Jun, 2015 1 commit
  4. 27 May, 2015 1 commit
  5. 20 May, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-8173: InnoDB; Failing assertion: crypt_data->type == 1 · 3e55ef26
      Jan Lindström authored
      Make sure that when we publish the crypt_data we access the
      memory cache of the tablespace crypt_data. Make sure that
      crypt_data is stored whenever it is really needed.
      
      All this is not yet enough in my opinion because:
      
      sql/encryption.cc has DBUG_ASSERT(scheme->type == 1) i.e.
      crypt_data->type == CRYPT_SCHEME_1
      
      However, for InnoDB point of view we have global crypt_data
      for every tablespace. When we change variables on crypt_data
      we take mutex. However, when we use crypt_data for
      encryption/decryption we use pointer to this global
      structure and no mutex to protect against changes on
      crypt_data.
      
      Tablespace encryption starts in fil_crypt_start_encrypting_space
      from crypt_data that has crypt_data->type = CRYPT_SCHEME_UNENCRYPTED
      and later we write page 0 CRYPT_SCHEME_1 and finally whe publish
      that to memory cache.
      3e55ef26
  6. 18 May, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing or alike · 20c23048
      Jan Lindström authored
      Analysis: Problem was that tablespaces not encrypted might not have
      crypt_data stored on disk.
      
      Fixed by always creating crypt_data to memory cache of the tablespace.
      
      MDEV-8138: strange results from encrypt-and-grep test
      
      Analysis: crypt_data->type is not updated correctly on memory
      cache. This caused problem with state tranfer on
      encrypted => unencrypted => encrypted.
      
      Fixed by updating memory cache of crypt_data->type correctly based on
      current srv_encrypt_tables value to either CRYPT_SCHEME_1 or
      CRYPT_SCHEME_UNENCRYPTED.
      20c23048
  7. 14 May, 2015 1 commit
  8. 04 May, 2015 2 commits
  9. 18 Feb, 2015 1 commit
  10. 18 Jan, 2015 2 commits
  11. 18 Nov, 2014 2 commits
  12. 11 Sep, 2014 2 commits
  13. 06 May, 2014 2 commits
  14. 05 May, 2014 2 commits
  15. 26 Feb, 2014 2 commits
  16. 16 Dec, 2013 2 commits
  17. 07 Nov, 2013 1 commit
  18. 07 Sep, 2013 1 commit
  19. 16 Jul, 2013 1 commit
  20. 08 May, 2013 1 commit
  21. 08 Mar, 2013 1 commit
  22. 28 Feb, 2013 1 commit
  23. 21 Nov, 2012 1 commit
  24. 01 Nov, 2012 1 commit
  25. 12 Oct, 2012 1 commit
  26. 05 Sep, 2012 1 commit
  27. 15 Jun, 2012 1 commit
  28. 15 Feb, 2012 1 commit
  29. 14 Dec, 2011 1 commit
  30. 21 Nov, 2011 1 commit
  31. 17 Jul, 2011 1 commit