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

*: C# RocksDBStore, bench concurrent HTTP connections, Go monitoring and others #28

Merged
merged 8 commits into from
Sep 3, 2020

Conversation

AnnaShaleva
Copy link
Member

@AnnaShaleva AnnaShaleva commented Aug 28, 2020

A set of small but important fixes.

cmd/internal/client.go Outdated Show resolved Hide resolved
cmd/internal/client.go Outdated Show resolved Hide resolved
cmd/internal/client.go Outdated Show resolved Hide resolved
cmd/internal/client.go Outdated Show resolved Hide resolved
cmd/internal/worker.go Outdated Show resolved Hide resolved
cmd/gen/main.go Outdated Show resolved Hide resolved
@AnnaShaleva AnnaShaleva force-pushed the sharp-rocks-db-store branch 6 times, most recently from c14b469 to 7b83ce1 Compare September 1, 2020 15:09
@AnnaShaleva AnnaShaleva marked this pull request as ready for review September 1, 2020 15:10
Release version of RocksDBStore does not work properly, that's why we
have to build it from source. It also requires librocksdb-dev.

See neo-project/neo-modules#330
Supposed to close #22, but C# node still have issues with passing
100-workers test and it's a C# RPC problem.
`RATE` mode assumes that all requests are being sent from the single
HTTP connection. `WORKER` mode assumes that the number of connections is
equal to the number of workers.

Part of #23
Closes #23

Worker client (txSender) is responsible for transactions sending only.
Sirvice client (blockRequester) should do the rest of work, e.g. fetching
and parsing blocks. There's a reason for that:

In `RATE` mode RPCClient should perform all requests via single HTTP
connection. If RPCClient use the single client for both transactions
sending and blocks parsing, test will end very soon due to "no free
connections available to host" fasthttp error during blocks parsing. In
order to avoid this error, we should use another HTTP connection for
service requests. That's possible only with using another fasthttp client.
It is more useful to count RPC error rate as the number of errors
devided by the whole number of queries (not the successful ones only).
Init 1 worker with appropriate delay for RATE mode to send transactions
synchronously
Previous commits make it possible for C# 4-nodes network and for C#
single-node to pass RATE mode tests.
@roman-khimov roman-khimov merged commit 2170b83 into master Sep 3, 2020
@roman-khimov roman-khimov deleted the sharp-rocks-db-store branch September 3, 2020 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants