Skip to content

Commit 5433e51

Browse files
committed
better error messages
1 parent c67c7f2 commit 5433e51

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

connector/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
<goal>kafka-connect</goal>
121121
</goals>
122122
<configuration>
123-
<title>Kafka Connect QuestDB</title>
123+
<title>QuestDB Kafka Connector</title>
124124
<documentationUrl>https://questdb.io/docs/third-party-tools/kafka/questdb-kafka/</documentationUrl>
125125
<description>
126126
QuestDB Sink connector for Apache Kafka. QuestDB is a columnar time-series database with

connector/src/main/java/io/questdb/kafka/QuestDBSinkConnectorConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.apache.kafka.common.config.ConfigException;
99
import org.apache.kafka.connect.errors.ConnectException;
1010

11-
import java.time.format.DateTimeFormatter;
1211
import java.util.Arrays;
1312
import java.util.Collections;
1413
import java.util.List;
@@ -106,7 +105,7 @@ public String getTable() {
106105
return getString(TABLE_CONFIG);
107106
}
108107

109-
public String getDefaultTimestampFormat() {
108+
public String getTimestampFormat() {
110109
return getString(TIMESTAMP_FORMAT);
111110
}
112111

connector/src/main/java/io/questdb/kafka/QuestDBSinkTask.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public void start(Map<String, String> map) {
6161
for (String symbolColumn : timestampStringFields.split(",")) {
6262
stringTimestampColumns.add(symbolColumn.trim());
6363
}
64-
dataFormat = TimestampParserCompiler.compilePattern(config.getDefaultTimestampFormat());
64+
dataFormat = TimestampParserCompiler.compilePattern(config.getTimestampFormat());
6565
} else {
6666
stringTimestampColumns = Collections.emptySet();
6767
}
@@ -314,7 +314,9 @@ private long parseToMicros(String timestamp) {
314314
try {
315315
return dataFormat.parse(timestamp, DateFormatUtils.enLocale);
316316
} catch (NumericException e) {
317-
throw new ConnectException("Cannot parse timestamp: " + timestamp, e);
317+
throw new ConnectException("Cannot parse timestamp: " + timestamp + " with the configured format '" + config.getTimestampFormat() +"' use '"
318+
+ QuestDBSinkConnectorConfig.TIMESTAMP_FORMAT + "' to configure the right timestamp format. " +
319+
"See https://questdb.io/docs/reference/function/date-time/#date-and-timestamp-format for timestamp parser documentation. ", e);
318320
}
319321
}
320322

0 commit comments

Comments
 (0)