Skip to content
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

Implement domain layer mechanism to save checkpoints #3325

Closed
MaskedCarrot opened this issue Jun 14, 2021 · 1 comment · Fixed by #3408 or #3400
Closed

Implement domain layer mechanism to save checkpoints #3325

MaskedCarrot opened this issue Jun 14, 2021 · 1 comment · Fixed by #3408 or #3400
Assignees
Labels
Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@MaskedCarrot
Copy link
Contributor

Modify the class of the domain layer to implement checkpointing.

Target Date
PR creation: 2021-06-24
PR completion: 2021-06-29
@MaskedCarrot MaskedCarrot added Where: Exploration player Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. labels Jun 14, 2021
@MaskedCarrot MaskedCarrot added this to the GSoC 2021.5: Milestone 1 milestone Jun 14, 2021
@MaskedCarrot MaskedCarrot self-assigned this Jun 14, 2021
@MaskedCarrot MaskedCarrot added this to To do in GSoC 2021.5: Lightweight Checkpointing via automation Jun 14, 2021
@MaskedCarrot MaskedCarrot changed the title Implement domain layer mechanism for checkpointing Implement domain layer mechanism to save checkpoints Jun 14, 2021
@MaskedCarrot
Copy link
Contributor Author

MaskedCarrot commented Jun 28, 2021

For reference the approach that uses both app layer and domain layer

Every time the exploration goes into VIEWING_STATE,
a success result is sent to the StateFragmentPresetner,
here we call a private function to save the checkpoint.
This private function will save the checkpoint using a new controller for checkpoints,
observe the returned dataProvider and
finally, call another function (from the ExplorationProgressController)
to update the newly added variables in ExplorationProgress.

@MaskedCarrot MaskedCarrot linked a pull request Jul 2, 2021 that will close this issue
8 tasks
@MaskedCarrot MaskedCarrot moved this from To do to In progress in GSoC 2021.5: Lightweight Checkpointing Jul 2, 2021
@MaskedCarrot MaskedCarrot linked a pull request Jul 3, 2021 that will close this issue
8 tasks
aggarwalpulkit596 pushed a commit that referenced this issue Jul 8, 2021
* add controller and tests

* NIT

* added tests for constant

* moved enum to a different file

* fixed lint

* fixed comments

* added module to UI-tests

* added exploration storage module to ui tests

* nit

* added module in missed files

* lint fix
@MaskedCarrot MaskedCarrot linked a pull request Jul 8, 2021 that will close this issue
8 tasks
GSoC 2021.5: Lightweight Checkpointing automation moved this from In progress to Done Jul 16, 2021
aggarwalpulkit596 pushed a commit that referenced this issue Jul 16, 2021
* add controller and tests

* NIT

* added tests for constant

* moved enum to a different file

* fixed lint

* fixed comments

* saving

* added mech to save checkpoints

* lint fix

* added module to UI-tests

* added exploration storage module to ui tests

* nit

* added module in missed files

* lint fix

* fixed saving

* lint fix

* nit changes

* nit changes

* fixed function names

* fixed failing domain tests and some nits

* completed saving approach

* added more tests and fixed failing tests

* checkpointing disabled by default

* fix

* improved mechanism to save checkpoints

* nit changes

* nit

* nit changes

* suppressed ExperimantalCoroutinesApi warning

* nit

* nit

* nit

* nit

* nit

* nit

* removed commit

* removed visibleForTesting

* nit

* Revert "removed visibleForTesting"

This reverts commit 7963300.

* added TODO for the issue

* nit

* added missing module in develop

* nit

* reverted changes back in StateDeck.kt

* fixed failing tests

* added more tests

* changed approach to stop exploration and nit changes

* nit

* nit

* nit

* nits in comments

* applied suggestion in stateDeck

* nit
@BenHenning BenHenning added the Z-ibt Temporary label for Ben to keep track of issues he's triaged. label Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
2 participants