-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-12757] Add block-level read/write locks to BlockManager #10705
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
Changes from all commits
5d130e4
423faab
1ee665f
76cfebd
7265784
2fb8c89
7cad770
8ae88b0
c1a8d85
575a47b
0ba8318
feb1172
90cf403
7f28910
12ed084
43e50ed
1b18226
8d45da6
8a52f58
36253df
77d8c5c
e37f003
2cf8157
150c6e1
1adbdb9
1828757
76fc9f5
2942b24
62f6671
47f3174
4591308
77939c2
a0c5bb3
d40e010
3f29595
ef7d885
e8d6ec8
9c8d530
f3fc298
dd6358c
ec8cc24
6134989
c9726c2
c629f26
fc19cfd
0aa2392
b273422
7639e03
27e98a3
b72cd7b
5e23177
f0b6d71
e549f2f
6d09400
717c476
e07b62d
0c08731
55b5b19
3a12480
25b09d7
bcb8318
4e11d00
ed44f45
7c74591
a401adc
504986f
66202f2
4f620a4
8547841
99c460c
c94984e
ac2b73f
39b1185
6502047
1d903ff
24dbc3d
745c1f9
5cfbbdb
9427576
3d377b5
07e0e37
697eba2
f5f089d
0b7281b
68b9e83
a5ef11b
b9d6e18
5df7284
eab288c
06ebef5
0628a33
b963178
9becde3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -65,7 +65,11 @@ class NettyBlockRpcServer( | |
| val level: StorageLevel = | ||
| serializer.newInstance().deserialize(ByteBuffer.wrap(uploadBlock.metadata)) | ||
| val data = new NioManagedBuffer(ByteBuffer.wrap(uploadBlock.blockData)) | ||
| blockManager.putBlockData(BlockId(uploadBlock.blockId), data, level) | ||
| val blockId = BlockId(uploadBlock.blockId) | ||
| val putSucceeded = blockManager.putBlockData(blockId, data, level) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You seem to do this in a bunch of places, perhaps consider the switched semantics that put does not retain the lock by default. Not sure if this is better, something to think about for later.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, let's revisit this in a followup. Swapping the default might be a good move since I think the current semantics are only really useful in the CacheManager. |
||
| if (putSucceeded) { | ||
| blockManager.releaseLock(blockId) | ||
| } | ||
| responseContext.onSuccess(ByteBuffer.allocate(0)) | ||
| } | ||
| } | ||
|
|
||
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we enable this in tests?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't because of the
limit()/take()issue.