Escaping issue with tag values
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne bei client.getWriteApiBlocking().writeMeasurements(...) und reproduziere den Fehler mit einem Tag-Wert, der nur einen umgekehrten Schrägstrich enthält, gefolgt von einem weiteren Tag. Verfolge, wie diese Messung serialisiert wird, bevor die Anfrage gesendet wird, überprüfe anschließend, dass der resultierende Datensatz von InfluxDB akzeptiert wird, und füge eine Abdeckung für diesen Fall hinzu.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
This issue occurs in our case because a user has entered specific meta data fields as just \.
According to the Influx docs, \ does not need to be escaped, but may be.
In our case, however, the backslash is followed with a comma, because it is at the end of the tag value, followed by another tag value, leading to messed up interpretation of the whole record.
In my opinion, the safest way to handle this is to always escape backslashes.
Steps to reproduce:
List the minimal actions needed to reproduce the behavior.
- Create as
List<>with at least one tag containing just a backslash\ - Write this list to InfluxDB using
client.getWriteApiBlocking().writeMeasurements(WriteParameters.DEFAULT_WRITE_PRECISION, myList);
Expected behavior:
Data would be inserted correctly.
Actual behavior:
Influx returns:
HTTP status code: 400; Message: unable to parse 'metrics,account.companyName=\,account.contactCity=\ [...]
Specifications:
- Client Version: 6.7.0
- InfluxDB Version: 3.7
- JDK Version: 17
- Platform: Linux/Docker/openjdk:17-alpine
- Vorherrschende Sprache
- Java
- Sterne
- 477
- Forks
- 129
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus influxdata/influxdb-client-java
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
influxdata/influxdb-client-java#849 · 4 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
influxdata/influxdb-client-java#830 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
Alle Issues in influxdata/influxdb-client-java
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
apache/arrow-java#1311 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
IBM/networking-java-sdk#204 ·
-
bug Technical Debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
avniproject/avni-server#1080 ·