Wrong column type when use wildcard with @Measurement
まだ誰も着手していません。
評価
調査の方向性
まず、writeMeasurement を通じて @Measurement、@Column、InfluxDbDefaultPoint、InfluxDbTemperaturePoint の例で問題を再現します。シリアライズ前に wildcard ジェネリックのフィールド値がどのように分類されるかを追跡し、30.0 が文字列ではなく数値フィールドとして書き込まれることを、非 wildcard のケースを壊さずに確認します。
索引モデルが issue の本文から書いたものです。
説明
Steps to reproduce:
@Getter
public abstract class InfluxDbDefaultPoint<T> {
@Column(timestamp = true)
private final Instant time;
@Column(tag = true)
private final Long deviceId;
@Column
private final T value;
public InfluxDbDefaultPoint(final Long deviceId, final T value) {
this.time = Instant.now();
this.deviceId = deviceId;
this.value = value;
}
}
@Measurement(name = "temperature")
public class InfluxDbTemperaturePoint extends InfluxDbDefaultPoint<Double> {
public InfluxDbTemperaturePoint(Long deviceId, Double value) {
super(deviceId, value);
}
}
public static void main(String[] args) {
final InfluxDBClient database = InfluxDBClientFactory.create("http://localhost:8200","<token>".toCharArray(),"<org>","<bucket>");
database.getWriteApiBlocking().writeMeasurement(WritePrecision.S, new InfluxDbTemperaturePoint(0L,30.0));
}
When I try to send such a prepared model to influxdb, I get an error: HTTP status code: 422; Message: failure writing points to database: partial write: field type conflict: input field "value" on measurement "temperature" is type string, already exists as type float dropped=1.
Previously I had an InfluxDbTemperaturePoint object without wildcard and it worked fine - it saved double
Expected behavior:
It should save the value 30.0 as float/dobule.
Actual behavior:
It tries to save the value 30.0 as a string.
Specifications:
- Client Version: 6.9.0
- InfluxDB Version: v2.7.1
- JDK Version: Java(TM) SE Runtime Environment (build 19.0.2+7-44)
- Platform: Windows
- 主要言語
- Java
- スター
- 477
- フォーク
- 129
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
influxdata/influxdb-client-java のほかの issue
-
mTLS Support (Client Certificates)対応中かも @NguyenHoangSon96 が 17 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
influxdata/influxdb-client-java#849 · コメント 4 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
influxdata/influxdb-client-java#830 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
influxdata/influxdb-client-java の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/rocketmq-dashboard#6872 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ADORSYS-GIS/token-status-link#168 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ADORSYS-GIS/keycloak-oid4vp-plugin#232 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
devops-thiago/ThrillhouseBot#1132 ·
メンテナーはふだん 1 日以内に返信