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

Test import keys with as many as 130k keys #319

Closed
jcalfee opened this issue Oct 12, 2015 · 6 comments
Closed

Test import keys with as many as 130k keys #319

jcalfee opened this issue Oct 12, 2015 · 6 comments
Assignees
Labels
Milestone

Comments

@jcalfee
Copy link

jcalfee commented Oct 12, 2015

https://bitsharestalk.org/index.php/topic,18401.msg243421.html#msg243421

@jcalfee
Copy link
Author

jcalfee commented Oct 19, 2015

The worker thread is best for this task. I'll leave the old non-worker route accessible incase someone with a smaller wallet can not fully support the functions within the worker thread. For example, indexedDb and worker threads were only recently fixed in FF:

https://bugzilla.mozilla.org/show_bug.cgi?id=701634
relnote-firefox: 37+

jcalfee pushed a commit that referenced this issue Oct 19, 2015
@jcalfee
Copy link
Author

jcalfee commented Oct 20, 2015

So far it is working well wile avoiding database writes in worker threads. Keeping the threads on ram only will avoid compatibility issues (like the note above) and consistency complexity (worker threads operate in their own memory space).

@jcalfee
Copy link
Author

jcalfee commented Oct 20, 2015

I have had some success using worker threads using them for only the safest operations. It is not possible to utilize them fully as FF does not support worker threads as well as Chrome. I suspect Safari will have the same issues (so I did not use those features).

Basically, you may be able to import a wallet with 130K keys, however, the experience will not be pleasant and the work-load will effect backups. We could really use a method for filtering the keys.

@jcalfee
Copy link
Author

jcalfee commented Oct 20, 2015

Filtering may be applied so we can obtain a reasonable import and backup sizes. This may be done in (a) a new bitshares_client release (BTS 0.9.4 for example) or (b) may be applied over the network.

Network filtering does depend on a fix for this issue in the witness_node: cryptonomex/graphene#324

@jcalfee
Copy link
Author

jcalfee commented Oct 22, 2015

In the UI import keys, I will detect large wallet import files and offer to apply bloom.dat to filter them.

I can show something like this:

"This is a very large key file and will cause known performance problems. Would you like to filter this import to include only keys and addresses used in the genesis release block of BitShares 2.0? You will have a chance to preview and check your balances. We recommend you save your original key file as it contains all your keys."

jcalfee pushed a commit that referenced this issue Oct 22, 2015
jcalfee pushed a commit that referenced this issue Oct 26, 2015
jcalfee pushed a commit that referenced this issue Oct 27, 2015
…ets past the genesis bloom filter #319"

This reverts commit b64ee9b.
jcalfee pushed a commit that referenced this issue Oct 27, 2015
@jcalfee
Copy link
Author

jcalfee commented Oct 27, 2015

A testrun deployment to https://bitshares.org/worker is scheduled.

valzav pushed a commit to valzav/graphene-ui that referenced this issue Oct 27, 2015
valzav pushed a commit to valzav/graphene-ui that referenced this issue Oct 27, 2015
jcalfee pushed a commit that referenced this issue Oct 29, 2015
jcalfee pushed a commit that referenced this issue Oct 29, 2015
jcalfee pushed a commit that referenced this issue Oct 30, 2015
jcalfee pushed a commit that referenced this issue Oct 30, 2015
@wmbutler wmbutler added the bug label Nov 5, 2015
@wmbutler wmbutler added this to the 2.0.151111 milestone Nov 5, 2015
@jcalfee jcalfee closed this as completed Nov 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants