apache / apache/incubator-pegasus

avoid to modify idl generate code in client

Open
#1,998 2 comments 0 reactions 0 assignees View on GitHub
type/bug
Dominant language
C++
Stars
2.1k
Forks
328
PR merge metrics
No merged PRs in 30d

Description

## Bug Report

Please answer these questions before submitting your issue. Thanks!

I found java client use 10 idl files, c++ use 12 idl files, go use 11 idl files.

```
➜ grep 'namespace java' idl/* | wc -l
10
➜ grep 'namespace go' idl/* | wc -l
11
➜ grep 'namespace cpp' idl/* | wc -l
12
```

Though java use 10 idl files, but java client only generate 9 idl files code.
This is strange, and hard to maintain.

For java client,
I think either
just remove `namespace java` from dns.thrift , not use the dns.thrift to generate java code.
or
use the generate code of dns.thrift, modify the java-thrift lib.

1. What did you do?
If possible, provide a recipe for reproducing the error.

2. What did you expect to see?

3. What did you see instead?

4. What version of Pegasus are you using?

Contributor guide

Open the contributing guide

Research direction

Start by comparing the namespace declarations in idl/* with the generated Java client, focusing on dns.thrift and the Java-thrift library. Determine which IDL files each client is intended to generate and choose a consistent handling for dns.thrift. Done means the Java client generation no longer requires unexplained manual differences from the IDL set.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, go, java
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.