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

Resend should also restore missing transactions for an originating node #579

Closed
SatpalSandhu61 opened this issue Dec 27, 2018 · 1 comment
Assignees
Labels
0.9 bug Something isn't working

Comments

@SatpalSandhu61
Copy link
Contributor

Currently, if a node loses its database then transactions are restored by means of the other nodes performing a resend for transactions where it is a participant.
However, if the failed node is the originator of the transaction, then those transactions won't be restored. See issue # 607.
This represents a flaw in the restore mechanism and means that users would have to build their own mechanism to store transactions and restore them after a node failure.

We should therefore extend the resend so that transactions are also restored to the originating node.

Note that Tessera stores the sender of a transaction, so that could be used in order to restore transactions back to the originating node.

@prd-fox prd-fox self-assigned this Jan 8, 2019
@prd-fox
Copy link
Contributor

prd-fox commented Jan 8, 2019

Using last comment above as a starting point, the solution would be:

  1. Resend the tx from a receiving node back to the originator (using a new endpoint to identify the nature of this resend, maybe?)
  2. Recreate the tx in the originating node as if it has no participants
  3. Add the recipient that sent us this as one of the recipients
  4. If another node sends us the same tx, add it as a recipient too, so we can rebuild the list of participants.

Note that if note that if both the originator AND a recipient both lose the data, then it becomes a lot harder to recover this, and will not be included in the scope of this issue. It would require some verification that the recipient was indeed an original party (probably using some data on the blockchain).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.9 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants