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

7442 refactor append vec #9790

Closed

Conversation

svenski123
Copy link
Contributor

@svenski123 svenski123 commented Apr 29, 2020

[This a work in progress]

Problem

Issue #7442 relating to AccountStorageEntry.count_and_status and serialisation

Summary of Changes

  • AccountStorageEntry (ASE) explicit implementaitons of Serialize / Deserialize traits added (modified from #derive output)
  • ASE currently implements produces / consumes a dummy count_and_status field (backward compatible)
  • RwLock<count_and_status> in ASE removed & replaced with separate atomic count and status fields
  • ASE is now lock-free (underlying AppendVec still has a mutex on append)

serialize dummy values for count_and_status for backwards compatibility
remove rwlock on count_and_status, rework into lock-free approach
various refactoring
…rialisation

old format (with dummy field) is still prduced and consumed (i.e. still backward compatible)
@sakridge
Copy link
Member

What is the problem it solves?

address potential lock-free race conditions
Remove serde references from AppendVec (AV), AccountStorageEntry (ASE)
Add Format0000* versions of AV & ASE containing plaon data for serialisation
Add From/Into traits to convert Format0000* <-> AV, ASE
Update AccountStorage serde to convert to/from Format0000* during serde operations
@stale
Copy link

stale bot commented May 7, 2020

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale [bot only] Added to stale content; results in auto-close after a week. label May 7, 2020
@stale
Copy link

stale bot commented May 14, 2020

This stale pull request has been automatically closed. Thank you for your contributions.

@stale stale bot closed this May 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale [bot only] Added to stale content; results in auto-close after a week.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants