EmmyMiao87 commented on a change in pull request #754: Add persist operations 
for routine load job
URL: https://github.com/apache/incubator-doris/pull/754#discussion_r265537284
 
 

 ##########
 File path: 
fe/src/main/java/org/apache/doris/analysis/CreateRoutineLoadStmt.java
 ##########
 @@ -313,42 +309,52 @@ private void checkKafkaCustomProperties() throws 
AnalysisException {
                                                     + " not match pattern " + 
ENDPOINT_REGEX);
             }
         }
+
         // check topic
-        kafkaTopic = customProperties.get(KAFKA_TOPIC_PROPERTY);
+        kafkaTopic = 
Strings.nullToEmpty(dataSourceProperties.get(KAFKA_TOPIC_PROPERTY)).replaceAll("
 ", "");
         if (Strings.isNullOrEmpty(kafkaTopic)) {
-            throw new AnalysisException(KAFKA_TOPIC_PROPERTY + " is required 
property");
+            throw new AnalysisException(KAFKA_TOPIC_PROPERTY + " is a required 
property");
         }
+
         // check partitions
-        final String kafkaPartitionsString = 
customProperties.get(KAFKA_PARTITIONS_PROPERTY);
+        final String kafkaPartitionsString = 
dataSourceProperties.get(KAFKA_PARTITIONS_PROPERTY);
         if (kafkaPartitionsString != null) {
-            kafkaPartitions = new ArrayList<>();
-            if (kafkaPartitionsString.equals(EMPTY_STRING)) {
+            kafkaPartitionsString.replaceAll(" ", "");
+            if (kafkaPartitionsString.isEmpty()) {
                 throw new AnalysisException(KAFKA_PARTITIONS_PROPERTY + " 
could not be a empty string");
             }
             String[] kafkaPartionsStringList = 
kafkaPartitionsString.split(",");
             for (String s : kafkaPartionsStringList) {
                 try {
-                    kafkaPartitions.add(getIntegerValueFromString(s, 
KAFKA_PARTITIONS_PROPERTY));
+                    
kafkaPartitionOffsets.add(Pair.create(getIntegerValueFromString(s, 
KAFKA_PARTITIONS_PROPERTY), 0L));
                 } catch (AnalysisException e) {
                     throw new AnalysisException(KAFKA_PARTITIONS_PROPERTY
                                                         + " must be a number 
string with comma-separated");
                 }
             }
         }
-        // check offsets
-        // Todo(ml)
-        final String kafkaOffsetsString = 
customProperties.get(KAFKA_OFFSETS_PROPERTY);
+
+        // check offset
+        final String kafkaOffsetsString = 
dataSourceProperties.get(KAFKA_OFFSETS_PROPERTY);
         if (kafkaOffsetsString != null) {
-            kafkaOffsets = new ArrayList<>();
-            String[] kafkaOffsetsStringList = 
customProperties.get(KAFKA_OFFSETS_PROPERTY).split(",");
-            for (String s : kafkaOffsetsStringList) {
-                kafkaOffsets.add(Long.valueOf(s));
+            kafkaOffsetsString.replaceAll(" ", "");
+            if (kafkaOffsetsString.isEmpty()) {
+                throw new AnalysisException(KAFKA_OFFSETS_PROPERTY + " could 
not be a empty string");
+            }
+            String[] kafkaOffsetsStringList = kafkaOffsetsString.split(",");
+            if (kafkaOffsetsStringList.length != kafkaPartitionOffsets.size()) 
{
 
 Review comment:
   if some partition has offset while others hasn't ?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to