-
Notifications
You must be signed in to change notification settings - Fork 283
xjson-server: Clustered mode causes errors #1091
Comments
I can't reproduce this... I'm on make -j 24 I start an fresh rm -fr default.etcd/
./etcd initialise it: $ ../cpp/tools/prepare_etcd.sh localhost 4001 testdata/ct-server-key.pem
{"action":"set","node":{"key":"/root","dir":true,"modifiedIndex":3,"createdIndex":3}}
{"action":"set","node":{"key":"/root/entries","dir":true,"modifiedIndex":4,"createdIndex":4}}
{"action":"set","node":{"key":"/root/nodes","dir":true,"modifiedIndex":5,"createdIndex":5}}
{"action":"set","node":{"key":"/root/serving_sth","value":"","modifiedIndex":6,"createdIndex":6}}
{"action":"set","node":{"key":"/root/cluster_config","value":"","modifiedIndex":7,"createdIndex":7}}
{"action":"set","node":{"key":"/root/sequence_mapping","value":"","modifiedIndex":8,"createdIndex":8}}
I0122 12:15:06.863653 15014 init.cc:71] Build version: 250672b5aef3666edbdfc9a75b95a09e7a57ed08
W0122 12:15:06.863736 15014 init.cc:75] Binary built with hardening DISABLED.
I0122 12:15:06.864011 15014 thread_pool.cc:146] ThreadPool starting with 12 threads
W0122 12:15:06.864347 15014 connection_pool.cc:257] Setting client minimum TLS protocol to tlsv12
I0122 12:15:06.864433 15014 connection_pool.cc:289] Loading openssl default trusted root certificates...
I0122 12:15:06.865279 15019 etcd.cc:1034] Etcd version: etcd 2.0.10
I0122 12:15:07.020087 15015 masterelection.cc:546] /election/clustertool: Became master
I0122 12:15:07.020222 15014 thread_pool.cc:146] ThreadPool starting with 4 threads
W0122 12:15:07.076969 15014 sqlite_db.cc:143] SQLite "synchronous" pragma set to FULL
W0122 12:15:07.077006 15014 sqlite_db.cc:146] SQLite running with batched transactions, you should set sqlite_synchronous_mode = FULL !
W0122 12:15:07.162147 15014 clustertool_main.cc:113] Using default ClusterConfig
I0122 12:15:07.164176 15014 clustertool_main.cc:127] Using config:
minimum_serving_nodes: 2
minimum_serving_fraction: 0.75
I0122 12:15:07.279165 15014 clustertool_main.cc:182] OK Start 3 servers: cd test
./run_xjson_server.sh /tmp/json0.ldb --etcd_servers=localhost:4001 --port=8880
# in separate shells:
./run_xjson_server.sh /tmp/json1.ldb --etcd_servers=localhost:4001 --port=8881
./run_xjson_server.sh /tmp/json2.ldb --etcd_servers=localhost:4001 --port=8882 and I add items and check the STH:
First node's log:
The other nodes are similar:
|
Hmm, upon closer inspection of your log, it looks like the xjson/adding elements stuff is actually a red herring - your node died because of a That's something we should definitely look at. |
@pphaneuf, this looks like it's kinda related to your TODO at etcd.cc:233 |
Log files retrieved. |
One hypothesis is that a timeout gets set on the underlying connection, which is used and then dropped back into the connection pool, pulled out, reused, returned, etc. Meanwhile the timeout bomb sits there ticking away, and at some point in the future fires, even when there's an in-flight request happening. If that happens to be the proposal update request then it causes this @pphaneuf is going to take a look. |
@AndrewGorton Hi, I've got the same problem. How can you solve it? Here is my logs ./prepare_etcd.sh
main node logs after post data
another
then , LogServer Fill the CPU !!!
|
@razeencheng I never got it fixed and have moved on to something else. I hope you get it sorted somehow. |
Hi @razeencheng, @AndrewGorton I wanted to point you towards Trillian, which is an implementation of General Transparency (as opposed to xjson which was intended as an interim hack to experiment with transparency for non-certificate-like things). We're actively working on Trillian, and you should find it a lot easier to work with. |
xjson-server still unhappy running in clustered mode.
I run three nodes with
I then post data to the first node with
and the 2nd and third nodes eventually coredump. Top of node2 logfile is:-
The text was updated successfully, but these errors were encountered: