-
Notifications
You must be signed in to change notification settings - Fork 168
Recovery #397
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
Draft
cassyunknown
wants to merge
75
commits into
twitter:master
Choose a base branch
from
cassyunknown:recovery
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.
Draft
Recovery #397
Changes from all commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
7ca757c
recovery files added
cassyunknown 7e32771
removed workflows
cassyunknown 26b55b5
added back workflows
cassyunknown 356e4fd
removed newline from .gitignore
cassyunknown 0503216
added descriptions for restore() and graceful_shutdown()
cassyunknown 5ea5667
added full tempfile version
cassyunknown 4ccf01f
changed derive traits to be in order
cassyunknown 592a823
new function that generates hash_builder, to remove repeated code
cassyunknown 67d5aa5
removed ccc comments
cassyunknown 9caeec5
changed will_resore to restore. Moved hash_builder() so it is in scope
cassyunknown b4bed3a
changed will_resore to restore
cassyunknown d2966d2
took out of a Boxed struct so I can use helper function store() to c…
cassyunknown deaaa91
created store() and now will integreate into all demolish() functions
cassyunknown 677200b
all of HashTable::demolish() uses store(). Will make similar changes …
cassyunknown 3603c1b
updated store() so it also returns new offset
cassyunknown 09a1f65
updated store() so it also returns new offset
cassyunknown 21ba045
added helper function total_buckets() to reduce repeated code
cassyunknown 7dc7d73
integrated store_bytes_and_update_offset() into Segments
cassyunknown 45aa5b1
reduced number of variables from Segments::restore()
cassyunknown 7c15eb8
added store_bytes_and_update_offset() usage to TtlBuckets::demolish()…
cassyunknown 5d0e633
moved store_bytes_and_update_offset() to store.rs so there is only 1 …
cassyunknown aeb62de
changed back to only having from_builder() to build . This function d…
cassyunknown 49c06e3
fixed ordering of derive traits for TtlBucket
cassyunknown 1606340
removed unnecessary comments
cassyunknown 1caaf22
removed newline
cassyunknown 83e428a
removed newline
cassyunknown 2df8f22
added TODOs to implement Drop trait for TtlBuckets
cassyunknown 7be8f07
Added Brian's File::create() changes
cassyunknown 19385a4
implemented PartialEq for HashTable
cassyunknown f7e9468
implemented PartialEq trait for TtlBuckets, Segments and Seg
cassyunknown 710674d
removed _restored field from Seg and replaced it with a restored() fu…
cassyunknown a73aa63
Clone trait now implemented for Segments and Seg can now derive Clone…
cassyunknown 7334b3f
changed implementation of PartialEq to be less awkward for Segments, …
cassyunknown 9e9dd5c
ran cargo fmt
cassyunknown de08656
update File::create() documentation
cassyunknown 6d77a73
update File::create() documentation
cassyunknown d7692ef
removed conditional derivations in Seg, Segments, HashTable and TtlBu…
cassyunknown 8d72b48
cannot reproduce failing of test new_file_backed_cache_changed_and_re…
cassyunknown 5b6dd2f
implemented From<Box<[u8]>> trait for Memory
cassyunknown f1ed123
Merge branch 'master' into recovery
cassyunknown bdd17b6
moved merged non-recovery tests to above recovery section
cassyunknown f47db51
fixed mismatched bracket introduced by merge
cassyunknown 739365e
fixed mismatched bracket introduced by merge
cassyunknown 186b9b4
added a Seg.flush() functio
cassyunknown ed43a6d
completed flush() for Segments
cassyunknown 917855e
added flush() to TtlBuckets and HashTable. Next step: changes tests.r…
cassyunknown 995544a
replaced demolish() with flush() in tests.rs. Deleted all traces of D…
cassyunknown 43eef14
replaced demolish() with flush() in tests.rs. Deleted all traces of D…
cassyunknown d62bfb0
ran cargo fmt
cassyunknown 92e1f24
ran cargo fmt
cassyunknown dc85b30
deleted tests that are attempting recovery from files that don't exis…
cassyunknown cefb4b9
uncommented File::create() check of expected size of file as there is…
cassyunknown 6197220
Changed code so that HashTable and TtlBuckets share same file. Now wi…
cassyunknown 154549b
refactored code to remove now unnecessary fields from HashTable and T…
cassyunknown eb671d0
neatened up comments for HashTable and TtlBuckets
cassyunknown 62c953e
all of Segments, HashTable and ttlBuckets restored from same file
cassyunknown 8816e11
ran cargo fmt
cassyunknown 396e704
added a quit() function to be called when a Quit request is received
cassyunknown ea1e114
removed quit() as this is not what we want (termination of connection…
cassyunknown 85531a3
added stop() function to be called when he request is Stop
cassyunknown 2396be8
added stop() function to be called when he request is Stop
cassyunknown c641d8f
fixed seg tests so graceful shutdown was part of configuration
cassyunknown b1ed33c
added test config file
cassyunknown 466a4c1
ran cargo fmt
cassyunknown 7d7e952
fixed bug in config file
cassyunknown e8c0b6e
Added the Stop command wherever FlushAll command was implemented
cassyunknown 85ab29a
stop signal sent to admin stops cache from processing events and shou…
cassyunknown 7dc5c48
listener, admin and multi now return upon Stop
cassyunknown 9d46425
attempted to add admin's own QueuePair to its signal_queue so it can …
cassyunknown 2318a47
changed back to id=0 when admin receiving signals
cassyunknown be9a15a
undid Stop responsse through non-admin port
cassyunknown ae713b7
removed non-admin parsing of Stop command
cassyunknown 553b333
updated config
cassyunknown befab11
ran cargo fmt
cassyunknown 19e0147
removed unnecessary adding to admin queue
cassyunknown 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or 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,94 @@ | ||
| daemonize = false | ||
|
|
||
| [admin] | ||
| # interfaces listening on | ||
| host = "0.0.0.0" | ||
| # port listening on | ||
| port = "9999" | ||
|
|
||
| [server] | ||
| # interfaces listening on | ||
| host = "0.0.0.0" | ||
| # port listening on | ||
| port = "12321" | ||
| # epoll timeout in milliseconds | ||
| timeout = 100 | ||
| # epoll max events returned | ||
| nevent = 1024 | ||
|
|
||
| [worker] | ||
| # epoll timeout in milliseconds | ||
| timeout = 100 | ||
| # epoll max events returned | ||
| nevent = 1024 | ||
| # number of worker threads | ||
| threads = 1 | ||
|
|
||
| # storage configuration | ||
| [seg] | ||
| # hash power adjusts how many items can be held in the hashtable | ||
| hash_power = 3 | ||
| # total bytes to use for item storage - 32 segments * 1024 segment size | ||
| heap_size = 32768 | ||
| # size of each segment in bytes | ||
| segment_size = 1024 | ||
| # number of segments for a non-evict compaction | ||
| compact_target = 2 | ||
| # number of segments to merge in one merge eviction pass | ||
| merge_target = 4 | ||
| # max number of segments to merge in one pass | ||
| merge_max = 8 | ||
| # use merge based eviction | ||
| eviction = "Merge" | ||
| # optionally, set a file path to back the data datapool | ||
| datapool_path = "/home/users/u6632448/file_for_data" | ||
| #datapool_path = "/mnt/pmem1.0/cassy/data" | ||
| # set a file path to back the metadata datapool | ||
| metadata_path = "/home/users/u6632448/file_for_metadata" | ||
| #metadata_path = "/mnt/pmem1.0/cassy/metadata" | ||
| # state whether cache will be restored | ||
| restore = false | ||
| # state whether cache will be flushed upon shutdown | ||
| graceful_shutdown = true | ||
|
|
||
| [time] | ||
| time_type = "Memcache" | ||
|
|
||
| [buf] | ||
|
|
||
| [debug] | ||
| # choose from: error, warn, info, debug, trace | ||
| log_level = "warn" | ||
| # optionally, log to the file below instead of standard out | ||
| # log_file = "segcache.log" | ||
| # backup file name for use with log rotation | ||
| log_backup = "segcache.log.old" | ||
| # trigger log rotation when the file grows beyond this size (in bytes). Set this | ||
| # option to '0' to disable log rotation. | ||
| log_max_size = 1073741824 | ||
|
|
||
| [klog] | ||
| # optionally, log commands to the file below | ||
| # file = "segcache.cmd" | ||
| # backup file name for use with log rotation | ||
| backup = "segcache.cmd.old" | ||
| # trigger log rotation when the file grows beyond this size (in bytes). Set this | ||
| # option to '0' to disable log rotation. | ||
| max_size = 1073741824 | ||
| # specify the sampling ratio, 1 in N commands will be logged. Setting to '0' | ||
| # will disable command logging. | ||
| sample = 100 | ||
|
|
||
| [sockio] | ||
|
|
||
| [tcp] | ||
|
|
||
| [tls] | ||
| # certificate chain used to validate client certificate | ||
| # certificate_chain = "client.chain" | ||
| # server certificate | ||
| # certificate = "server.crt" | ||
| # server private key | ||
| # private_key = "server.key" | ||
| # ca certificate file used as the root of trust | ||
| # ca_file = "ca.crt" |
This file contains hidden or 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 |
|---|---|---|
|
|
@@ -5,4 +5,5 @@ | |
| #[derive(Clone)] | ||
| pub enum Signal { | ||
| Shutdown, | ||
| Stop, | ||
| } | ||
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Uh oh!
There was an error while loading. Please reload this page.