paust-team / paust-db

GNU General Public License v3.0
6 stars 5 forks source link

Travis CI build test problem #150

Closed dragon0170 closed 5 years ago

dragon0170 commented 5 years ago

Travis CI에서 아래와 같은 build error가 발생하였길래 원인을 살펴보았습니다.

# github.com/paust-team/paust-db/cmd/paust-db/commands
cmd/paust-db/commands/master.go:41:19: not enough arguments in call to common.TrapSignal
    have (func())
    want (common.logger, func())

원인은 tendermint가 v0.31.0을 release하면서 TrapSignal function의 API가 바뀌었기 때문입니다. (CHANGELOG.md) 현재 travis script에서는 tendermint를 특정 version tag가 아닌 최신 master branch를 사용하기 때문에 발생한 문제입니다.

간단하게는 그냥 travis script에서 tendermint의 특정 tag를 사용하도록 변경하면 되는 문제이긴 합니다만 README.md에 tendermint version이 "0.29.0 or higher"라고 적힌 것도 바뀌어야 할 것 같습니다.

tendermint가 아직 버전이 1.0이 아니라 계속해서 새롭게 릴리즈되고 API나 구조가 바뀌어서 이전 버전과 호환이 되지 않는데 이런 requirement version 관리에 대한 해결 방안을 생각해보아야 하겠네요.

dragon0170 commented 5 years ago

tendermint v0.31.0 changelog를 보다가 발견한건데 v0.31.0에서 중점적으로 바뀐 것이 pubsub 구현이라고 하네요. pubsub은 tendermint에서 발생하는 event에 대해서 websocket을 통해 subscribe하는 데 사용되는 것 같습니다.(https://tendermint.com/docs/app-dev/subscribing-to-events-via-websocket.html#subscribing-to-events-via-websocket)

148 에서 블록 생성 event에 맞춰서 fst state를 생성할 때 사용할 수도 있지 않을까 생각이 드네요.

elon0823 commented 5 years ago

저희가 tendermint 와 지속적으로 갈 것이 아니기 때문에 당장에 저희가 작업한 0.30.0 에 맞춰서 readme 와 travis ci script 수정을 하면 될 것 같습니다. 0.31.0 지원은 추후에 필요하면 하도록 하죠