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

refactor(core-transaction-pool): storage #3500

Merged
merged 1 commit into from Feb 14, 2020

Conversation

@rainydio
Copy link
Contributor

rainydio commented Feb 14, 2020

Summary

Related to #3499

Simpler transaction pool storage.

  • Removed table field. Storage class isn't big.
  • Removed Synchronizer. Transactions are added/removed as they arrive/leave. Disk operations aren't that slow (especially on SSDs) to require custom synchronization (dirty + sync intervals).
  • Removed bulk operations, they aren't necessary once Synchronizer is gone.

If there are sqlite performance problems then it's better to swap it for lmdb. Synchronization should be handled by database, not manually.

Checklist

  • Ready to be merged
* Removed table field. Storage class isn't that big and it reduces readability.
* Removed Synchronizer. Transactions are added/removed as they arrive/leave. Disk operations aren't that slow (especially on SSDs) to require custom synchronization (memory + dirty + sync intervals).
* Removed bulk operations, they aren't necessary once Synchronizer is gone.
@codecov

This comment has been minimized.

Copy link

codecov bot commented Feb 14, 2020

Codecov Report

Merging #3500 into 3.0 will increase coverage by 0.22%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff             @@
##              3.0    #3500      +/-   ##
==========================================
+ Coverage   46.93%   47.15%   +0.22%     
==========================================
  Files         536      535       -1     
  Lines       13669    13605      -64     
  Branches     1856     1848       -8     
==========================================
  Hits         6416     6416              
+ Misses       7224     7160      -64     
  Partials       29       29
Impacted Files Coverage Δ
packages/core-kernel/src/ioc/identifiers.ts 100% <ø> (ø) ⬆️
packages/core-transaction-pool/src/memory.ts 0% <ø> (ø) ⬆️
packages/core-transaction-pool/src/cleaner.ts 0% <0%> (ø) ⬆️
...ages/core-transaction-pool/src/service-provider.ts 0% <0%> (ø) ⬆️
packages/core-transaction-pool/src/connection.ts 0% <0%> (ø) ⬆️
packages/core-transaction-pool/src/storage.ts 0% <0%> (ø) ⬆️
...core-transactions/src/handlers/handler-registry.ts 0% <0%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5834847...09ef047. Read the comment docs.

@faustbrian faustbrian changed the title refactor(transaction-pool): storage refactor(core-transaction-pool): storage Feb 14, 2020
@faustbrian faustbrian merged commit c558ddd into 3.0 Feb 14, 2020
36 of 61 checks passed
36 of 61 checks passed
lint (12.x)
Details
test-unit (12.x)
Details
test-integration (12.x)
Details
test-functional-bridgechain-registration (12.x)
Details
test-functional-bridgechain-resignation (12.x)
Details
test-functional-bridgechain-update (12.x)
Details
test-functional-business-registration (12.x)
Details
test-functional-business-resignation (12.x)
Details
test-functional-business-update (12.x)
Details
test-functional-delegate-registration (12.x)
Details
test-functional-delegate-resignation (12.x)
Details
test-functional-htlc-claim (12.x)
Details
test-functional-htlc-lock (12.x)
Details
test-functional-htlc-refund (12.x)
Details
test-functional-ipfs (12.x)
Details
test-functional-multi-payment (12.x)
Details
test-functional-multi-signature-registration (12.x)
Details
test-functional-second-signature-registration (12.x)
Details
test-functional-transfer (12.x)
Details
test-functional-vote (12.x)
Details
benchmark (12.x)
Details
security/snyk - __tests__/e2e/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-container/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-database-postgres/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-elasticsearch/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-error-tracker-airbrake/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-error-tracker-bugsnag/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-error-tracker-raygun/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-error-tracker-rollbar/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-error-tracker-sentry/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-event-emitter/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-exchange-json-rpc/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-explorer/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-http-utils/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-interfaces/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-jest-matchers/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-logger-signale/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-logger-winston/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-logger/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-new-relic/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-snapshots/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-tester-cli/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-utils/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-vote-report/package.json (ArkEcosystem) Manifest not found
Details
security/snyk - packages/core-wallet-api/package.json (ArkEcosystem) Manifest not found
Details
codecov/patch 0% of diff hit (target 46.93%)
Details
LGTM analysis: JavaScript No new or fixed alerts
Details
codecov/project 47.15% (+0.22%) compared to 38bf5bc
Details
security/snyk - package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-api/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-blockchain/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-database/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-forger/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-logger-pino/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-p2p/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-state/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-transaction-pool/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-transactions/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core-webhooks/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/core/package.json (ArkEcosystem) No manifest changes detected
security/snyk - packages/crypto/package.json (ArkEcosystem) No manifest changes detected
@ArkEcosystemBot ArkEcosystemBot deleted the refactor/transaction-pool/storage branch Feb 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.