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

performance improvements and network bug fixes #131

Merged
merged 42 commits into from
Oct 17, 2019

Conversation

oldcold
Copy link

@oldcold oldcold commented Oct 17, 2019

Change Description

Consensus Changes

API Changes

Documentation Additions

vince and others added 30 commits September 10, 2019 11:27
…after that correspond to our blocks. GH EOSIO#6755

(cherry picked from commit e9a6c08)
(cherry picked from commit c9c02f0)
…ilure if passed in a block number; also update fc submodule

(cherry picked from commit 09737b4)
…s not actually contain a transaction

(cherry picked from commit ad6bdf8)
…. Added better error messages for common mistakes.

(cherry picked from commit 0f7709f)
…ortcut out in that situation.

(cherry picked from commit f1a4b5c)
…ct they are on a fork

(cherry picked from commit ffbf338)
(cherry picked from commit 1eecbf2)
# Conflicts:
#	libraries/chain/pbft_database.cpp
…; contruct_index should leave index file empty if block log contains no blocks

(cherry picked from commit 80f4551)
(cherry picked from commit 3f03ede)
…cause plugin_shutdown not called. Moved the creation of keepalive timer to after acceptor bind which can easily fail if port already in use. Changed fc_elog to elog for port already in use so that it is always logged regardless of net_plugin_impl logger setting. Also move the setup of logger to start of plugin_startup since logging is used within the method.

(cherry picked from commit e796f37)
@oldcold oldcold requested a review from BOS-boscore October 17, 2019 06:42
@@ -917,6 +917,7 @@ namespace eosio {
void connection::close() {
if(socket) {
socket->close();
socket.reset( new tcp::socket( std::ref(app().get_io_service())) );
Copy link

@BOS-boscore BOS-boscore Oct 17, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个是因为 boost 库没升级?之前没加reset 不出错万幸。

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不是,是为了能重新建立连接

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get_io_service 不是不推荐了吗?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reset 这块一直没有,这个bug他们也是最近刚解。get_io_service 应该还在用,不过之后用多线程了这边都要替换掉。

auto conn = weak_conn.lock();
if (!conn || !conn->socket || !conn->socket->is_open()) {
if (!conn || !conn->socket || !conn->socket->is_open() || !socket->is_open()) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不是多线程 也要这样吗?socket 不一样?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

重连以后有可能会不一样,再加上接下来还有net_plugin的多线程要加进来。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

对象没变,单线程应该是一样的。

}
}

bool net_plugin_impl::process_next_message(const connection_ptr& conn, uint32_t message_length) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EOS “if next message is a block we already have, exit early ” 逻辑 加上有什么问题吗?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

那段逻辑需要新版本的fc支持,fc的升级会跟boost升级一起做。

@Thaipanda Thaipanda merged commit 03eb540 into boscore:release/3.0.x Oct 17, 2019
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.

4 participants