-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Long make calls lock table metadata #1170
Comments
This will be inside populate and will follow all the conventions of Yes, it looks correct. If we want to be fancy, we can prohibit |
@ethho, our blob serialization serializes most types of data into binary strings. You can use a hash on the serialized data for comparing |
I am following this. I see the #1171. Can this issue here be updated regularly when this is implemented / in a testable state? Thanks for taking care of this! |
This is a high priority for multiple labs. |
This has not been merged / solved yet, right? |
Looks like the last commit was 5m ago We gave users a 'check threads' tool to check for hold-ups and see whose process might be slowing things down |
Bug Report
Description
A client locks table metadata for the entire duration of a
make
function call. When other clients attempt todrop
ordeclare
child tables, the call is blocked until the first client finishesmake
. This approach scales poorly with number of clients and number of child tables.Reproducibility
Include:
Proposed Solution
As an alternative to writing a
Computed.make
function, allow user to write three functions:make_fetch
for reading inputsmake_compute
, which is not run in a transaction, and is passed the return value ofmake_fetch
make_insert
, which inserts computed values using the same transaction semantics asmake
.In pseudocode, these three functions will be used in the following routine as such:
Additional Research and Context
Related Issues
cc: @dimitri-yatsenko @ttngu207 @CBroz1 @samuelbray32 @peabody124
The text was updated successfully, but these errors were encountered: