Skip to content

[ENH] Allow concurrent transformation of tables into new domains#4363

Merged
lanzagar merged 2 commits intobiolab:masterfrom
markotoplak:unlock-from_table
Jan 24, 2020
Merged

[ENH] Allow concurrent transformation of tables into new domains#4363
lanzagar merged 2 commits intobiolab:masterfrom
markotoplak:unlock-from_table

Conversation

@markotoplak
Copy link
Member

Issue

Table.from_table was locked to one thread only. This started being problematic now that more widgets are running in threads. If a long Table.transform is running in one thread, another threads will block if they try to use Table.transform.

This happened, for example, while testing Quasars/orange-spectroscopy#395 (see comment by @stuart-cls).

Description of changes

Table.from_table had a reentrant lock on its conversion cache. That lock was needed so that we knew when to purge the cache. Making the cache thread-local allows concurrent calls.

Includes
  • Code changes
  • Tests
  • Documentation

Table.from_table had a reentrant lock on its conversion cache. That
lock was needed so that we knew when to purge the cache. Making the
cache thread-local allows concurrent calls.
@codecov
Copy link

codecov bot commented Jan 24, 2020

Codecov Report

Merging #4363 into master will increase coverage by <.01%.
The diff coverage is 92.45%.

@@            Coverage Diff             @@
##           master    #4363      +/-   ##
==========================================
+ Coverage   86.97%   86.97%   +<.01%     
==========================================
  Files         396      396              
  Lines       72138    72147       +9     
==========================================
+ Hits        62745    62753       +8     
- Misses       9393     9394       +1

@markotoplak
Copy link
Member Author

Codecov complains about some apparently stale code which did not change in this PR. Such changes are dangerous so I would not like to change it here. Please ignore its complaints.

@lanzagar lanzagar merged commit 2b72d87 into biolab:master Jan 24, 2020
@markotoplak markotoplak deleted the unlock-from_table branch February 5, 2020 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants