1. 22 May, 2018 2 commits
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · b9cf26f7
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Merged:
        Commit 4d576d9d on branch bb-10.3-MDEV-12900
      b9cf26f7
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · 4d576d9d
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      4d576d9d
  2. 21 May, 2018 31 commits
  3. 20 May, 2018 3 commits
  4. 19 May, 2018 4 commits
    • Vladislav Vaintroub's avatar
      update C/C · 798ba1ed
      Vladislav Vaintroub authored
      798ba1ed
    • Sergei Golubchik's avatar
      bugfix: EE_OPEN_WARNING could be statistically wrong · 8f47c658
      Sergei Golubchik authored
      don't rely on imprecise my_file_opened | my_stream_opened,
      scan the array for open handles instead.
      
      also, remove my_print_open_files() and embed it in my_end()
      to have one array scan instead of two.
      8f47c658
    • Daniel Black's avatar
      MDEV-15635 mysys: THR_LOCK_open reduce usage · 0322ced7
      Daniel Black authored
      Change the following to statistic counters:
      * my_file_opened
      * my_file_total_opened
      * my_stream_opened
      * my_tmp_file_created
      
      There is one non-statistics use of my_file_opened/my_stream_opened
      in my_end which prints a warning if we shutdown and its still open.
      It seems excessive to hold locks to prevent this warning.
      
      A file descriptor is already a unique element per process - in Windows,
      protection occurs at fd allocation using THR_LOCK_open in my_win_{,f}open
      and in other OSes, a unique fd to file map exists at the OS level.
      So accesses to my_file_info[fd] don't need to be protected by the
      THR_LOCK_open.
      
      my_close/my_fclose where restructured to clear out the my_file_info
      before the close/my_win_close/my_win_fclose. After these calls another
      thread could gain the same file descriptor. So for Windows this
      the file_info elements available to the my_win_{,f}_open are released
      during the invalidate_fd call within my_win_close. No locking is needed
      as the my_win_{,f}open is searching for a invalidate entry which is
      determined by a single value change.
      
      my_fclose also changed for non-Windows to retry closing if EINTR was
      returned, same as my_close.
      
      Closes #657
      0322ced7
    • Daniel Black's avatar
      MDEV-8743: use mkostemp when available with O_CLOEXEC · 6ed6a045
      Daniel Black authored
      Closes #639
      6ed6a045