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

chore(persistence): replace transaction manager with Reactor #4800

Merged
merged 1 commit into from
Oct 15, 2022

Conversation

pollend
Copy link
Member

@pollend pollend commented Jun 28, 2021

this replaces the saveThreadManager with a singleSubject I think this change is a lot easier to follow then some of the strange logic with TaskMaster.

  • create a new world
  • see if game saves from clock interval
  • verify that game can be loaded from save

Blockers

Part of #4798

@github-actions github-actions bot added the Type: Refactoring Request for or implementation of pure and automatic refactorings, e.g. renaming, to improve clarity label Jun 28, 2021
@pollend pollend changed the title refactor: transaction manager with rxjava refactor: transaction manager with reactor Jul 13, 2021
@keturn keturn added the Topic: Concurrency Requests, issues, and changes relating to threading, concurrency, parallel execution, etc. label Jul 26, 2021
Base automatically changed from refactor/remove-usage-ThreadManagerSubsystem to develop August 27, 2021 23:43
Copy link
Contributor

@DarkWeird DarkWeird left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Auto Saving - works
  2. Loading saved game - don't works ( exit to main menu -> game -> load game)
  3. Loading saved game with restart game - works

Loading without restart game:

  1. stuck at await player spawn
  2. chunks loads (Chunks present in heap)
  3. I notice several LocalPlayerSystems in heap (via heap dump)
  4. SaveTransactions is not present (it is right)
  5. guess entities not loads(?)

@keturn
Copy link
Member

keturn commented Jan 21, 2022

  1. Loading saved game - don't works ( exit to main menu -> game -> load game)
  2. Loading saved game with restart game - works

I've heard people talk about problems loading more than one world before. Are the bugs you've noted here new in this branch, or are they problems that exist in develop?

@keturn keturn changed the title refactor: transaction manager with reactor chore(persistence): replace transaction manager with Reactor Jan 21, 2022
@keturn keturn removed the Type: Refactoring Request for or implementation of pure and automatic refactorings, e.g. renaming, to improve clarity label Jan 21, 2022
@keturn
Copy link
Member

keturn commented Jan 21, 2022

@DarkWeird
Copy link
Contributor

  1. Loading saved game - don't works ( exit to main menu -> game -> load game)
  2. Loading saved game with restart game - works

I've heard people talk about problems loading more than one world before. Are the bugs you've noted here new in this branch, or are they problems that exist in develop?

This problem is new.
And last problem is not resolved too

New problem have another symptoms. (Noted)

@pollend
Copy link
Member Author

pollend commented Jan 21, 2022

  1. Loading saved game - don't works ( exit to main menu -> game -> load game)
  2. Loading saved game with restart game - works

I've heard people talk about problems loading more than one world before. Are the bugs you've noted here new in this branch, or are they problems that exist in develop?

This problem is new. And last problem is not resolved too

New problem have another symptoms. (Noted)

I did tweak the behavior but I guess its still wrong.

@github-actions github-actions bot added the Type: Chore Request for or implementation of maintenance changes label Jan 23, 2022
@keturn
Copy link
Member

keturn commented May 8, 2022

I think the reason that the tests are failing is because waitForCompletionOfPreviousSave is not working. The test zips right to the assertions before the stuff on the other thread finishes.

I'm also frustrated because I really want Reactor to have a tidy interface for this sort of thing, instead of trying to add our own bookkeeping on top of it, but I have yet to figure out anything that's a good fit for the StorageManager's current API.

@keturn keturn force-pushed the refactor/rework-transaction-manager-rxjava branch from 65f38b6 to 68ddfff Compare October 2, 2022 01:04
@keturn keturn dismissed DarkWeird’s stale review October 2, 2022 01:38

branch has been replaced since review time

Copy link
Member

@jdrueckert jdrueckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code-wise, this looks reasonable to me, but I still need to test it. Hope I'll get to that tomorrow after work.

Copy link
Member

@jdrueckert jdrueckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests out fine.

@keturn keturn merged commit f8f6f89 into develop Oct 15, 2022
8 checks passed
@keturn keturn deleted the refactor/rework-transaction-manager-rxjava branch October 15, 2022 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Topic: Concurrency Requests, issues, and changes relating to threading, concurrency, parallel execution, etc. Type: Chore Request for or implementation of maintenance changes
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants