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

*: fix stylecheck/unused/unconvert linter issues #16638

Merged
merged 3 commits into from
Sep 26, 2023

Conversation

fuweid
Copy link
Member

@fuweid fuweid commented Sep 25, 2023

Signed-off-by: Wei Fu <fuweid89@gmail.com>
Signed-off-by: Wei Fu <fuweid89@gmail.com>
Signed-off-by: Wei Fu <fuweid89@gmail.com>
@fuweid
Copy link
Member Author

fuweid commented Sep 25, 2023

https://github.com/etcd-io/etcd/actions/runs/6298870563/job/17098527364?pr=16638

Flaky case

=== FAIL: integration/clientv3/lease TestLeasingPutGetDeleteConcurrent (2.48s)
    cluster.go:537: Creating listener with addr: 127.0.0.1:2122406147
    cluster.go:537: Creating listener with addr: 127.0.0.1:2122506147
    logger.go:130: 2023-09-25T11:51:02.850Z	INFO	m0	LISTEN GRPC	{"member": "m0", "grpcAddr": "localhost:m0", "m.Name": "m0", "workdir": "/tmp/TestLeasingPutGetDeleteConcurrent4105323870/001"}
    logger.go:130: 2023-09-25T11:51:02.851Z	INFO	m0	LISTEN GRPC SUCCESS	{"member": "m0", "grpcAddr": "unix://localhost:m0", "m.Name": "m0", "workdir": "/tmp/TestLeasingPutGetDeleteConcurrent4105323870/001", "port": "m0"}
    cluster.go:218: Launching new cluster...
    logger.go:130: 2023-09-25T11:51:02.852Z	INFO	m0	launching a member	{"member": "m0", "name": "m0", "advertise-peer-urls": ["unix://127.0.0.1:2122406147"], "listen-client-urls": ["unix://127.0.0.1:2122506147"], "grpc-url": "unix://localhost:m0"}
    logger.go:130: 2023-09-25T11:51:02.854Z	INFO	m0	opened backend db	{"member": "m0", "path": "/tmp/TestLeasingPutGetDeleteConcurrent4105323870/002/etcd3984626130/member/snap/db", "took": "1.298915ms"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0	starting local member	{"member": "m0", "local-member-id": "2f636985e1ed1af", "cluster-id": "94d3523c522f4e4e"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0.raft	2f636985e1ed1af switched to configuration voters=()	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0.raft	2f636985e1ed1af became follower at term 0	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0.raft	newRaft 2f636985e1ed1af [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0.raft	2f636985e1ed1af became follower at term 1	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.857Z	INFO	m0.raft	2f636985e1ed1af switched to configuration voters=(213418060388684207)	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.859Z	WARN	m0	simple token is not cryptographically signed	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.860Z	INFO	m0	kvstore restored	{"member": "m0", "current-rev": 1}
    logger.go:130: 2023-09-25T11:51:02.862Z	INFO	m0	starting etcd server	{"member": "m0", "local-member-id": "2f636985e1ed1af", "local-server-version": "3.6.0-alpha.0", "cluster-version": "to_be_decided"}
    logger.go:130: 2023-09-25T11:51:02.862Z	INFO	grpc	[[core] [Server #471] Server created]
    logger.go:130: 2023-09-25T11:51:02.862Z	INFO	m0	started as single-node; fast-forwarding election ticks	{"member": "m0", "local-member-id": "2f636985e1ed1af", "forward-ticks": 9, "forward-duration": "90ms", "election-ticks": 10, "election-timeout": "100ms"}
    logger.go:130: 2023-09-25T11:51:02.863Z	INFO	m0.raft	2f636985e1ed1af switched to configuration voters=(213418060388684207)	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.863Z	INFO	m0	added member	{"member": "m0", "cluster-id": "94d3523c522f4e4e", "local-member-id": "2f636985e1ed1af", "added-peer-id": "2f636985e1ed1af", "added-peer-peer-urls": ["unix://127.0.0.1:2122406147"], "added-peer-is-learner": false}
    logger.go:130: 2023-09-25T11:51:02.864Z	INFO	grpc	[[core] [Server #471 ListenSocket #472] ListenSocket created]
    logger.go:130: 2023-09-25T11:51:02.864Z	INFO	grpc	[[core] [Channel #473] Channel created]
    logger.go:130: 2023-09-25T11:51:02.864Z	INFO	grpc	[[core] [Channel #473] original dial target is: "etcd-endpoints://0xc0000b7e00/localhost:m0"]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473] parsed dial target is: {URL:{Scheme:etcd-endpoints Opaque: User: Host:0xc0000b7e00 Path:/localhost:m0 RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}}]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473] Channel authority set to "localhost:m0"]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473] Resolver state updated: {
          "Addresses": [
            {
              "Addr": "unix:localhost:m0",
              "ServerName": "localhost:m0",
              "Attributes": null,
              "BalancerAttributes": null,
              "Metadata": null
            }
          ],
          "Endpoints": [
            {
              "Addresses": [
                {
                  "Addr": "unix:localhost:m0",
                  "ServerName": "localhost:m0",
                  "Attributes": null,
                  "BalancerAttributes": null,
                  "Metadata": null
                }
              ],
              "Attributes": null
            }
          ],
          "ServiceConfig": {
            "Config": {
              "Config": null,
              "LB": "round_robin",
              "Methods": {}
            },
            "Err": null
          },
          "Attributes": null
        } (service config updated; resolver returned new addresses)]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473] Channel switches to new LB policy "round_robin"]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[balancer] base.baseBalancer: got new ClientConn state:  {{[{Addr: "unix:localhost:m0", ServerName: "localhost:m0", }] [{[{Addr: "unix:localhost:m0", ServerName: "localhost:m0", }] <nil>}] 0xc0011d09c0 <nil>} <nil>}]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel created]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[roundrobin] roundrobinPicker: Build called with info: {map[]}]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473] Channel Connectivity change to CONNECTING]
    logger.go:130: 2023-09-25T11:51:02.865Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel Connectivity change to CONNECTING]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel picks a new address "unix:localhost:m0" to connect]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[balancer] base.baseBalancer: handle SubConn state change: 0xc00241f7d0, CONNECTING]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel Connectivity change to READY]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[balancer] base.baseBalancer: handle SubConn state change: 0xc00241f7d0, READY]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[roundrobin] roundrobinPicker: Build called with info: {map[SubConn(id:474):{{Addr: "unix:localhost:m0", ServerName: "localhost:m0", }}]}]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	grpc	[[core] [Channel #473] Channel Connectivity change to READY]
    logger.go:130: 2023-09-25T11:51:02.866Z	INFO	m0	launched a member	{"member": "m0", "name": "m0", "advertise-peer-urls": ["unix://127.0.0.1:2122406147"], "listen-client-urls": ["unix://127.0.0.1:2122506147"], "grpc-url": "unix://localhost:m0"}
    logger.go:130: 2023-09-25T11:51:02.927Z	INFO	m0.raft	2f636985e1ed1af is starting a new election at term 1	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	2f636985e1ed1af became pre-candidate at term 1	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	2f636985e1ed1af received MsgPreVoteResp from 2f636985e1ed1af at term 1	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	2f636985e1ed1af became candidate at term 2	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	2f636985e1ed1af received MsgVoteResp from 2f636985e1ed1af at term 2	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	2f636985e1ed1af became leader at term 2	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.928Z	INFO	m0.raft	raft.node: 2f636985e1ed1af elected leader 2f636985e1ed1af at term 2	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:02.929Z	INFO	m0	setting up initial cluster version using v3 API	{"member": "m0", "cluster-version": "3.6"}
    logger.go:130: 2023-09-25T11:51:02.929Z	INFO	m0	published local member to cluster through raft	{"member": "m0", "local-member-id": "2f636985e1ed1af", "local-member-attributes": "{Name:m0 ClientURLs:[unix://127.0.0.1:2122506147]}", "cluster-id": "94d3523c522f4e4e", "publish-timeout": "5.2s"}
    logger.go:130: 2023-09-25T11:51:02.929Z	INFO	m0	set initial cluster version	{"member": "m0", "cluster-id": "94d3523c522f4e4e", "local-member-id": "2f636985e1ed1af", "cluster-version": "3.6"}
    logger.go:130: 2023-09-25T11:51:02.930Z	INFO	m0	cluster version is updated	{"member": "m0", "cluster-version": "3.6"}
    logger.go:130: 2023-09-25T11:51:02.930Z	WARN	m0	Failed to detect schema version	{"member": "m0", "error": "missing confstate information"}
    logger.go:130: 2023-09-25T11:51:02.930Z	ERROR	m0	failed to update storage version	{"member": "m0", "cluster-version": "3.6.0", "error": "cannot detect storage schema version: missing confstate information"}
    cluster.go:237:  - m0 -> 2f636985e1ed1af (unix://localhost:m0)
    cluster.go:1418: ========= Cluster termination started =====================
    logger.go:130: 2023-09-25T11:51:04.261Z	INFO	grpc	[[core] [Channel #473] Channel Connectivity change to SHUTDOWN]
    logger.go:130: 2023-09-25T11:51:04.261Z	INFO	grpc	[[core] [Channel #473] ccBalancerWrapper: closing]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[core] [Channel #473] Closing the name resolver]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel Connectivity change to SHUTDOWN]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[core] [Channel #473 SubChannel #474] Subchannel deleted]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[transport] [client-transport 0xc000b1a240] Closing: rpc error: code = Canceled desc = grpc: the client connection is closing]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[transport] [client-transport 0xc000b1a240] loopyWriter exiting with error: transport closed by client]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[core] [Channel #473] Channel deleted]
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	m0	terminating a member	{"member": "m0", "name": "m0", "advertise-peer-urls": ["unix://127.0.0.1:2122406147"], "listen-client-urls": ["unix://127.0.0.1:2122506147"], "grpc-url": "unix://localhost:m0"}
    logger.go:130: 2023-09-25T11:51:04.262Z	INFO	grpc	[[core] [Server #471 ListenSocket #472] ListenSocket deleted]
    logger.go:130: 2023-09-25T11:51:04.263Z	INFO	grpc	[[transport] [server-transport 0xc0000f4b60] Closing: EOF]
    logger.go:130: 2023-09-25T11:51:04.263Z	INFO	grpc	[[transport] [server-transport 0xc0000f4b60] loopyWriter exiting with error: connection error: desc = "transport is closing"]
    logger.go:130: 2023-09-25T11:51:04.263Z	INFO	m0	server has stopped; stopping cluster version's monitor	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:04.263Z	INFO	m0	server has stopped; stopping storage version's monitor	{"member": "m0"}
    logger.go:130: 2023-09-25T11:51:04.265Z	INFO	m0	verification of persisted state	{"member": "m0", "data-dir": "/tmp/TestLeasingPutGetDeleteConcurrent4105323870/002/etcd3984626130"}
    logger.go:130: 2023-09-25T11:51:04.294Z	INFO	m0	verification: consistentIndex OK	{"member": "m0", "backend-consistent-index": 1387, "hardstate-commit": 1387}
    logger.go:130: 2023-09-25T11:51:04.295Z	INFO	m0	verification of persisted state successful	{"member": "m0", "data-dir": "/tmp/TestLeasingPutGetDeleteConcurrent4105323870/002/etcd3984626130"}
    logger.go:130: 2023-09-25T11:51:04.297Z	INFO	m0	terminated a member	{"member": "m0", "name": "m0", "advertise-peer-urls": ["unix://127.0.0.1:2122406147"], "listen-client-urls": ["unix://127.0.0.1:2122506147"], "grpc-url": "unix://localhost:m0"}
    cluster.go:1435: ========= Cluster termination succeeded ===================
    leak.go:118: Test appears to have leaked :
        go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc.(*serverWatchStream).recvLoop(0xc0007a4270)
        	/__w/etcd/etcd/server/etcdserver/api/v3rpc/watch.go:355 +0xe3f
        go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc.(*watchServer).Watch.func2()
        	/__w/etcd/etcd/server/etcdserver/api/v3rpc/watch.go:198 +0x5e
        created by go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc.(*watchServer).Watch in goroutine 10968
        	/__w/etcd/etcd/server/etcdserver/api/v3rpc/watch.go:197 +0x531

@fuweid fuweid closed this Sep 25, 2023
@fuweid fuweid reopened this Sep 25, 2023
@fuweid fuweid marked this pull request as ready for review September 25, 2023 12:58
@fuweid
Copy link
Member Author

fuweid commented Sep 25, 2023

ping @serathius @ahrtr @jmhbnz ~

Copy link
Member

@ahrtr ahrtr left a comment

Choose a reason for hiding this comment

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

LGTM

thx @fuweid

Comment on lines -1119 to -1126
func (cfg *Config) getListenClientHttpUrls() (ss []string) {
ss = make([]string, len(cfg.ListenClientHttpUrls))
for i := range cfg.ListenClientHttpUrls {
ss[i] = cfg.ListenClientHttpUrls[i].String()
}
return ss
}

Copy link
Member

Choose a reason for hiding this comment

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

Should we (1) remove all the getXXXXUrls methods or (2) exports all such methods and un-export the related fields? It's a little weird that the fields (e.g. ListenClientUrls, ListenPeerUrls, AdvertiseClientUrls, AdvertisePeerUrls and ListenClientHttpUrls) are exported, but the related methods are not. It can be discussed separately.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think we can keep and export the getXXXXUrls to make the copy of the fields, since etcd codebase prefers to use copy of source, for instance, pb use arg instead of pointer. If we un-exports the related fields, we need to provide the modifier option during configuration. It's refactor. We can do it in follow-up if it's accepted.

@serathius serathius merged commit 4e7f114 into etcd-io:main Sep 26, 2023
51 of 52 checks passed
@fuweid fuweid deleted the fix-stylecheck branch September 26, 2023 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

[lint] make verify-lint doesn't verify {api,server,client,...} modules
3 participants