forked from microsoft/FASTER
-
Notifications
You must be signed in to change notification settings - Fork 0
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
First implementation of new SI API #2
Open
TedHartMS
wants to merge
48
commits into
master
Choose a base branch
from
SecondaryIndex
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 5 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
3aa431d
First implementation of new SI API
TedHartMS 97bcf90
Add I(Advanced)Functions.Lock/Unlock and minimize SI-related locking
TedHartMS 1b10d64
some experimental stuff to test
TedHartMS d9db397
Experiment with SupportsLocks
TedHartMS c54018c
Change to new locking scheme; update test Functions to derive from Fu…
TedHartMS 047e27d
Additional locking work:
TedHartMS 85c54a4
Update YCSB benchmark to separate locking and indexing parameters and…
TedHartMS 11c0289
updates
badrishc ac12836
Improvments to multi-iteration runs
TedHartMS 2c94bd7
Remove FKV.SupportsMutableIndexes; change benchmark to resuse loaded …
TedHartMS e340da7
Benchmark: remove interface and make store, device, keys readonly
TedHartMS a094f81
distinct delimiter on last and trimmed stats summary
TedHartMS 3b118b8
More YCSB benchmark updates:
TedHartMS ab625ac
Update benchmark to start in unison.
badrishc 5ac4a8c
Refactor YCSB to clean up program.cs and duplicate LoadData and impro…
TedHartMS e6baec2
Fix UpdateSIForIPU return; fix latchDest in InternalRMW; tweak addres…
TedHartMS b922709
turn off smalldata for Release
TedHartMS 1874a7c
YCSB changes:
TedHartMS eb59000
YCSB: change --backup to --recover and remove BackupMode; add --runsec
TedHartMS 664e7dc
a few minor tweaks made while doing PRs
TedHartMS d15c6c6
Add Powershell scripts to run the benchmark performance suite and com…
TedHartMS 3bb74ad
Merge upstream master
TedHartMS ef80838
updates to benchmark scripts
TedHartMS b12d4d6
Merge remote-tracking branch 'origin/master' into SecondaryIndex
TedHartMS 2ce51aa
Add SubsetIndexSessionBroker; add SimpleIndex tests
TedHartMS c179dc8
Implement ReadOnlyObserver for SI; add Immutable and Mixed index test…
TedHartMS 42619d7
Support multiple ReadOnly and Eviction Observers
TedHartMS 25730b9
Merge upstream master
TedHartMS 01220cf
more files from merge
TedHartMS e30da07
Merge remote-tracking branch 'origin/master' into SecondaryIndex
TedHartMS ab1c815
Add RecordId struct; move QueryRecord into SI from HVI; remove record…
TedHartMS 8c88c1a
Add QueryRecord.RecordId
TedHartMS 3b57ef1
RecordId changes from HVI
TedHartMS f024f3a
QueryRecord changes from HVI
TedHartMS 074028b
Fixes to multi-observer cleanup; fix recordInfo setting in ReadAsyncI…
TedHartMS 5bf46d9
merge upstream master
TedHartMS 4458616
Modify Secondary Index interfaces:
TedHartMS 881f4bd
Merge upstream master
TedHartMS 32320de
Merge upstream master; backport from HVI branch
TedHartMS f6a9603
Merge remote-tracking branch 'origin/master' into SecondaryIndex
TedHartMS 101aff6
allow deltaFileDevice == null
TedHartMS 8a321d9
Additional changes for C#9
TedHartMS d380af8
Backport a few changes from HVI in preparation to merge master
TedHartMS 5a40baa
Merge upstream master
TedHartMS a2a55ac
merge upstream master
TedHartMS 7917538
add missing OnRecovery to InternalRecoverAsync
TedHartMS 25f310f
Add default values for scanDelta, recoverTo args
TedHartMS c4b0781
backport mostly doc-related changes from HVI
TedHartMS File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT license. | ||
|
||
using FASTER.core; | ||
|
||
namespace FASTER.benchmark | ||
{ | ||
class NullKeyIndex<Key> : ISecondaryKeyIndex<Key> | ||
{ | ||
public string Name => "KeyIndex"; | ||
|
||
public bool IsMutable => true; | ||
|
||
public void Delete(ref Key key) { } | ||
|
||
public void Insert(ref Key key) { } | ||
|
||
public void Upsert(ref Key key, bool isMutable) { } | ||
} | ||
|
||
class NullValueIndex<Value> : ISecondaryValueIndex<Value> | ||
{ | ||
public string Name => "ValueIndex"; | ||
|
||
public bool IsMutable => true; | ||
|
||
public void Delete(long recordId) { } | ||
|
||
public void Insert(ref Value value, long recordId) { } | ||
|
||
public void Upsert(ref Value value, long recordId, bool isMutable) { } | ||
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. What does isMutable mean here in the API? |
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
There is a variant here that takes in the address as well. In that case, we need to update the index whenever addresses changes, even if the key does not change. Like an Upsert call here in addition to Insert.