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

Ftr: Generic invocation supports Generalizer #1315

Merged

Conversation

justxuewei
Copy link
Member

@justxuewei justxuewei commented Jul 12, 2021

What this PR does:

  • Ftr: Get java name from basic types or POJOs, e.g. java.lang.String(for string)
  • Tst: Add unit tests for getting java name
  • Ftr: GenericFilter supports to convert a normal invocation to the generic format
  • Tst: Add unit tests for GenericFilter
  • Ftr: GenericServiceFilter is ready for generalizer.Generalizer
  • Tst: Add unit tests for GenericServiceFilter
  • Ftr: Add MapGeneralizer
    • Support to generalize object with a pointer
    • Support to get java name from a POJO object, and insert a new key named "class" into result
    • Support to handle nil value
    • Add unit tests to MapGeneralizer for the aforementioned features
  • Ftr: Add ProtobufJsonGeneralizer
  • Ftr: Support "protobuf-json" field in ReferenceConfig

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

NONE

Copy link
Member

@zouyx zouyx left a comment

Choose a reason for hiding this comment

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

make action success pls.

@justxuewei
Copy link
Member Author

justxuewei commented Jul 12, 2021

make action success pls.

This PR changes some behavior of generic invocation that makes the CI failed, I've opened a new PR for dubbo-go-samples to make integrated tests pass, please see apache/dubbo-go-samples#170.

@justxuewei justxuewei changed the title Ftr: Generic invocation supports "protobuf-json" Ftr: Generic invocation supports Generalizer Jul 18, 2021
@LaurenceLiZhixin
Copy link
Contributor

Pls fix your conflict and push me to review, tks.

@justxuewei
Copy link
Member Author

Pls fix your conflict and push me to review, tks.

Done, now this PR is ready for review.

common/rpc_service.go Outdated Show resolved Hide resolved
Copy link
Member

@zouyx zouyx left a comment

Choose a reason for hiding this comment

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

Could you make github action to success?

@justxuewei
Copy link
Member Author

justxuewei commented Jul 24, 2021

Could you make github action to success?

因为改动了接口,原有的samples不能正常运行,目前我已经针对这个改进在samples中提了PR,但是需要等待该PR合并。我已经在本地模式运行过samples,逻辑上没有问题。

@LaurenceLiZhixin LaurenceLiZhixin merged commit 9aeb7ff into apache:3.0 Jul 25, 2021
@justxuewei justxuewei deleted the ftr/generic-invocation-protobuf-json branch July 26, 2021 02:20
LaurenceLiZhixin added a commit that referenced this pull request Aug 26, 2021
* fix: change register event chan to unbundent chan (#1330)

* fix: #1323 delete zk registry when set defualt consumer/provider config (#1324)

* Ftr: Generic invocation supports Generalizer (#1315)

* generic filter

* sync

* feat: get java name from POJO

* todo: unittests for generic filter

* unittests for generic filter

* map generalizer

* adjust import block

* generic service filter is ready for generalizer

* add unittests for GenericServiceFilter

* ReferenceConfig supports new format of generic key

* go fmt

* fix license

* fix license

* fix bugs encountering in integrated tests

* go fmt

* fix serialization bugs

* ftr: generic invocation supports protobuf-json

* go fmt

* go fmt

* disable protobuf-json

* go fmt

* update comments

* fix logging level (#1341)

* Ftr: add lumberjack log config (#1335)

* add lumberjack & union test

* fix go fmt error,modify go.sum file

* Ftr: add json generalizer (#1343)

* Ftr: add json generalizer

Fix: go fmt

* Fix: hessian pojo

* fix: restart ci

* Fix: imports format

* style(*): format imports with dubbogo/tools/imports-formatter (#1346)

* fix Fixed the problem that the timeout period of the original method level does not take effect (#1336)

* fix Fixed the problem that the timeout period of the original method level does not take effect

* fix Fixed the problem that the timeout period of the original method level does not take effect

Co-authored-by: 董振兴 <dongzhenxing@xiaomi.com>

* fix:#1143 Feature/reduce etcd registry conn; wait group modify (#1297)

* modify map use in nacos service_discovery

* fix map double write bug

* modify etcd registry restart mechanism

* add sync.once for HandleClientRestart

* modify the logic when add() or done() of wait group in zk,etcd and k8s registry

* modify the logic when add() or done() of wait group in zk,etcd and k8s registry

* add handleClientRestart func

* add handleClientRestart func

* go fmt

* fix: update linter

Co-authored-by: yexiaobo <yexiaobo@luojilab.com>
Co-authored-by: LaurenceLiZhixin <382673304@qq.com>

* ftr: triple multi params support (#1344)

* ftr: triple multi params support

* fix: import

* fix: fix ci and gomod

* fix: fmt

* fix: add develop back to branch

* fix: remove unused getty import

* fix: mock zk registry (#1351)

* 优化Nacos下的ServiceName的命名风格 (#1352)

Co-authored-by: Changeden <chenzhiduan@unizone.tech>

* remove zk test (#1357)

* Use class name as the default reference name (#1339)

* build(deps): bump actions/cache from v2.1.4 to v2.1.5

Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...1a9e213)

Signed-off-by: dependabot[bot] <support@github.com>

* improve etcd version and change create to put (#1203)

* Remove RPC Service

* use type assertion before reflect

* modify comment

* modify comment of BaseMetadataService

* add the type alias of interface{}

* modify RPCService

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: randy <ztelur@gmail.com>

* Feat/upgrade getty (#1345)

* feat(getty): upgrade getty version to 1.4.4

* feat(getty): delete outdated getty params

* delete time.Sleep in unit test

* upgrade getty version to 1.4.5

* style(getty): format package getty imports

Co-authored-by: dongjianhui03 <dongjianhui03@meituan.com>

* support multi pb (#1361)

* 修复当getty的tcp read/write timeout小于1s时panic的问题

* TCP Read/Write最小值提取为全局变量,优化parseTimeDurationByRange逻辑

* logo (#1382)

* Change the key of a mock EchoFilter (#1381)

* build(deps): bump actions/cache from v2.1.4 to v2.1.5

Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...1a9e213)

Signed-off-by: dependabot[bot] <support@github.com>

* improve etcd version and change create to put (#1203)

* change the mock filter key

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: randy <ztelur@gmail.com>

* Change the key of a mock EchoFilter (#1381)

* build(deps): bump actions/cache from v2.1.4 to v2.1.5

Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...1a9e213)

Signed-off-by: dependabot[bot] <support@github.com>

* improve etcd version and change create to put (#1203)

* change the mock filter key

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: randy <ztelur@gmail.com>

* fix: nacos service disc error log bug (#1390)

* 优化代码逻辑

* fix:registry timeout not pars (#1392)

* fix:registry timeout not pars

* up:fmt

* up:统一超时时间key

* fix:修改测试顺序问题

* up:fmt

* change dependabot target branch

* build(deps): bump github.com/fsnotify/fsnotify from 1.4.9 to 1.5.0 (#1400)

* build(deps): bump actions/cache from v2.1.4 to v2.1.5

Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...1a9e213)

Signed-off-by: dependabot[bot] <support@github.com>

* improve etcd version and change create to put (#1203)

* build(deps): bump github.com/dubbogo/gost from 1.11.14 to 1.11.16 (#1387)

Bumps [github.com/dubbogo/gost](https://github.com/dubbogo/gost) from 1.11.14 to 1.11.16.
- [Release notes](https://github.com/dubbogo/gost/releases)
- [Commits](dubbogo/gost@v1.11.14...v1.11.16)

---
updated-dependencies:
- dependency-name: github.com/dubbogo/gost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump google.golang.org/protobuf from 1.26.0 to 1.27.1 (#1386)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.26.0 to 1.27.1.
- [Release notes](https://github.com/protocolbuffers/protobuf-go/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf-go/blob/master/release.bash)
- [Commits](protocolbuffers/protobuf-go@v1.26.0...v1.27.1)

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump go.etcd.io/etcd/client/v3 from 3.5.0-alpha.0 to 3.5.0 (#1383)

Bumps [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) from 3.5.0-alpha.0 to 3.5.0.
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Changelog](https://github.com/etcd-io/etcd/blob/main/CHANGELOG-3.5.md)
- [Commits](etcd-io/etcd@v3.5.0-alpha.0...v3.5.0)

---
updated-dependencies:
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/fsnotify/fsnotify from 1.4.9 to 1.5.0

Bumps [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) from 1.4.9 to 1.5.0.
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/master/CHANGELOG.md)
- [Commits](fsnotify/fsnotify@v1.4.9...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/fsnotify/fsnotify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: randy <ztelur@gmail.com>

* build(deps): bump github.com/emicklei/go-restful/v3 from 3.4.0 to 3.5.2 (#1403)

Bumps [github.com/emicklei/go-restful/v3](https://github.com/emicklei/go-restful) from 3.4.0 to 3.5.2.
- [Release notes](https://github.com/emicklei/go-restful/releases)
- [Changelog](https://github.com/emicklei/go-restful/blob/v3/CHANGES.md)
- [Commits](emicklei/go-restful@v3.4.0...v3.5.2)

---
updated-dependencies:
- dependency-name: github.com/emicklei/go-restful/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 更新TCP读写超时最小值命名;不再使用范围比较;

* del protoc-gen-dubbo3 & protoc-gen-dubbo (#1313)

Co-authored-by: Mulavar <978007503@qq.com>
Co-authored-by: XavierNiu <a@nxw.name>
Co-authored-by: 氕氘氚 <cjp_ca@163.com>
Co-authored-by: EnableAsync <43645467+EnableAsync@users.noreply.github.com>
Co-authored-by: XX <45752021+Threadalive@users.noreply.github.com>
Co-authored-by: 董振兴 <dongzhenxing@xiaomi.com>
Co-authored-by: WilliamLeaves <williamtheleaves@gmail.com>
Co-authored-by: yexiaobo <yexiaobo@luojilab.com>
Co-authored-by: ChangedenChan <changeden520@gmail.com>
Co-authored-by: Changeden <chenzhiduan@unizone.tech>
Co-authored-by: YuDong Tang <583125614@qq.com>
Co-authored-by: alchemy-lee <2769566951@qq.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: randy <ztelur@gmail.com>
Co-authored-by: dongjianhui03 <dongjianhui03@meituan.com>
Co-authored-by: gaoxinge <xg.gao@tianrang-inc.com>
Co-authored-by: wangxw666 <2484713618@qq.com>
Co-authored-by: zhaoyunxing <2385585770@qq.com>
Co-authored-by: Joe Zou <joezou@apache.org>
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.

5 participants