apache / apache/gravitino

[Improvement] Remove warnings when compiling Gravitino

Open
#1,809 2 comments 0 reactions 0 assignees View on GitHub
good first issue improvement
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 15h
Merged PRs (30d)
315

Description

### What would you like to be improved?

Warning shows up when compiling Gravitino, adding -Xlint:unchecked gives this:

```
> Task :common:compileJava FAILED
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:82: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(metalake.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:132: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(catalog.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:141: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(schema.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:167: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(table.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
error: warnings found and -Werror specified
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:90: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:101: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:112: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:123: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:86: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:97: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:108: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:119: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:112: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:123: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:134: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:145: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:156: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:167: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:86: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:97: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:108: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:119: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:141: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:152: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:163: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:174: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:185: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:190: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:164: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:175: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:186: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:197: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:208: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:213: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:218: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:223: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:228: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:93: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:98: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:103: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
1 error
40 warnings
```

### How should we improve?

Remove the warnings. This is required by https://www.bestpractices.dev/en

Contributor guide

Open the contributing guide

Research direction

Start by running the common module compilation with -Xlint:unchecked and -Werror, then inspect the reported DTO files under common/src/main/java/com/datastrato/gravitino/dto and dto/util/DTOConverters.java. Trace the raw Builder calls and unchecked casts shown in the compiler output. Done means the common compilation succeeds without unchecked warnings while preserving the DTO builder behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
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.