diff --git a/protocol/dubbo/codec_test.go b/protocol/dubbo/codec_test.go index 8490b0b61a6820460c73b0a19858615b781c7876..c192c2294db5597517ace011224e34f8affefb1f 100644 --- a/protocol/dubbo/codec_test.go +++ b/protocol/dubbo/codec_test.go @@ -64,11 +64,11 @@ func TestDubboPackage_MarshalAndUnmarshal(t *testing.T) { assert.Equal(t, hessian.PackageRequest, pkgres.Header.Type) assert.Equal(t, byte(S_Dubbo), pkgres.Header.SerialID) assert.Equal(t, int64(10086), pkgres.Header.ID) - assert.Equal(t, "2.5.4", pkgres.Body.([]interface{})[0]) + assert.Equal(t, "2.0.2", pkgres.Body.([]interface{})[0]) assert.Equal(t, "path", pkgres.Body.([]interface{})[1]) assert.Equal(t, "2.6", pkgres.Body.([]interface{})[2]) assert.Equal(t, "Method", pkgres.Body.([]interface{})[3]) assert.Equal(t, "Ljava/lang/String;", pkgres.Body.([]interface{})[4]) assert.Equal(t, []interface{}{"a"}, pkgres.Body.([]interface{})[5]) - assert.Equal(t, map[string]string{"group": "", "interface": "Service", "path": "path", "timeout": "1000"}, pkgres.Body.([]interface{})[6]) + assert.Equal(t, map[string]string{"dubbo": "2.0.2", "group": "", "interface": "Service", "path": "path", "timeout": "1000", "version": "2.6"}, pkgres.Body.([]interface{})[6]) } diff --git a/registry/consul/agent436116882/raft/peers.info b/registry/consul/agent436116882/raft/peers.info new file mode 100644 index 0000000000000000000000000000000000000000..e8f5885c51505a03ef0c681ffdb2c9a6ae1b7f02 --- /dev/null +++ b/registry/consul/agent436116882/raft/peers.info @@ -0,0 +1,65 @@ + +As of Consul 0.7.0, the peers.json file is only used for recovery +after an outage. The format of this file depends on what the server has +configured for its Raft protocol version. Please see the agent configuration +page at https://www.consul.io/docs/agent/options.html#_raft_protocol for more +details about this parameter. + +For Raft protocol version 2 and earlier, this should be formatted as a JSON +array containing the address and port of each Consul server in the cluster, like +this: + +[ + "10.1.0.1:8300", + "10.1.0.2:8300", + "10.1.0.3:8300" +] + +For Raft protocol version 3 and later, this should be formatted as a JSON +array containing the node ID, address:port, and suffrage information of each +Consul server in the cluster, like this: + +[ + { + "id": "adf4238a-882b-9ddc-4a9d-5b6758e4159e", + "address": "10.1.0.1:8300", + "non_voter": false + }, + { + "id": "8b6dda82-3103-11e7-93ae-92361f002671", + "address": "10.1.0.2:8300", + "non_voter": false + }, + { + "id": "97e17742-3103-11e7-93ae-92361f002671", + "address": "10.1.0.3:8300", + "non_voter": false + } +] + +The "id" field is the node ID of the server. This can be found in the logs when +the server starts up, or in the "node-id" file inside the server's data +directory. + +The "address" field is the address and port of the server. + +The "non_voter" field controls whether the server is a non-voter, which is used +in some advanced Autopilot configurations, please see +https://www.consul.io/docs/guides/autopilot.html for more information. If +"non_voter" is omitted it will default to false, which is typical for most +clusters. + +Under normal operation, the peers.json file will not be present. + +When Consul starts for the first time, it will create this peers.info file and +delete any existing peers.json file so that recovery doesn't occur on the first +startup. + +Once this peers.info file is present, any peers.json file will be ingested at +startup, and will set the Raft peer configuration manually to recover from an +outage. It's crucial that all servers in the cluster are shut down before +creating the peers.json file, and that all servers receive the same +configuration. Once the peers.json file is successfully ingested and applied, it +will be deleted. + +Please see https://www.consul.io/docs/guides/outage.html for more information. diff --git a/registry/consul/agent436116882/raft/raft.db b/registry/consul/agent436116882/raft/raft.db new file mode 100644 index 0000000000000000000000000000000000000000..280e025bb8d029da6f21e4784130859ab41caf40 Binary files /dev/null and b/registry/consul/agent436116882/raft/raft.db differ