-
Notifications
You must be signed in to change notification settings - Fork 78
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
Investigate parallelizing TransactionImpl.readUnread() #948
Comments
Actually it does an entire row and all of it cols at once. Could still do all row cols at once. |
Is this still valid? I was looking at Another option would be something like the following, which just runs all the
|
I was also thinking, though I haven't fully thought it through yet, that we could change |
Yes.
I feel like this is the right path. Looking inside
I am wary of using |
Gotcha, we could go a similar route of |
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. This commit parallelizes this behavior by reading all row+cols at once. This commit accomplishes this by using a ParallelSnapshotScanner instead of a SnapshotScanner. Since ParallelSnapshotScanner resolves write locks in the implementation, the code to resolve write locks was removed from reachUnread() and checkForOrphanedLocks(). Fixes apache#948
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. This commit parallelizes this behavior by reading all row+cols at once. This commit accomplishes this by using a ParallelSnapshotScanner instead of a SnapshotScanner. Since ParallelSnapshotScanner resolves write locks in the implementation, the code to resolve write locks was removed from reachUnread() and checkForOrphanedLocks(). Fixes apache#948
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. This commit parallelizes this behavior by reading all row+cols at once. This commit accomplishes this by using a ParallelSnapshotScanner instead of a SnapshotScanner. Since ParallelSnapshotScanner resolves write locks in the implementation, the code to resolve write locks was removed from reachUnread() and checkForOrphanedLocks(). Fixes apache#948
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. This commit parallelizes this behavior by reading all row+cols at once. This commit accomplishes this by using a ParallelSnapshotScanner instead of a SnapshotScanner. Fixes apache#948
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. This commit parallelizes this behavior by reading all row+cols at once. This commit accomplishes this by using a ParallelSnapshotScanner instead of a SnapshotScanner. Fixes #948
When a transaction only writes to a row+col and then has a collision Fluo will read the row+col after the collision to look for orphaned locks. If there are multiple row+cols then the code reads them one at time. The could possibly be parallelized by calling some of the existing methods in Fluo that read multiple row+cols at once.
The code in question is at TransactionImpl line 519
The text was updated successfully, but these errors were encountered: