1.10版本中发现连续Join时抛出数组越界异常
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Domaine
- stream-processing
Piste de recherche
Commencez dans com.dtstack.flink.sql.side.ParserJoinField, plus précisément dans getAllField(JoinScope scope) autour des lignes 124-127, et reproduisez la requête signalée avec deux joins vers la même table de dimension. Comparez field.getFieldNames() à field.getTotalFields() lorsque le champ contient un Row, puis vérifiez que la requête ne provoque plus d’erreur d’index de tableau.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
我将flinkStreamSql从1.8.1升级到1.10,原来可以运行的Join语句出错了。
tableA是源表, tableB 是维表,执行下面的语句
CREATE VIEW v_a_join_b AS
SELECT A.col_a1,A.col_a2,A.col_a3,B1.col_b as col_b1,B2.col_b as col_b2
FROM tableA AS A
LEFT JOIN tableB AS B1 ON A.col_a1 = B1.col_b
LEFT JOIN tableB AS B2 ON A.col_a2 = B2.col_b;
在com.dtstack.flink.sql.side.ParserJoinField类的
private static List getAllField(JoinScope scope) 方法中
会出现124行,String[] fieldNames = field.getFieldNames(); 只有两个字段f1,f2,其中f1是true,f2是Row其实包含了很多字段。 但是在126行,field.getTotalFields()会是实际包含的字段数,这样在127行, String fieldName = fieldNames[i]; 就会抛出数组越界的异常。 这个问题只在 多次Join需要进行表转流,流转表的时候才会遇到。

- Langage dominant
- Java
- Étoiles
- 2k
- Forks
- 913
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DTStack/flinkStreamSQL
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
DTStack/flinkStreamSQL#467 · 1 commentaire ·
-
这个如何引入使用flink-connector-hive啊 Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
DTStack/flinkStreamSQL#437 · 3 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
DTStack/flinkStreamSQL#432 · 1 commentaire ·
-
新版FlinkStreamSQL已经融合进FlinkX项目 Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
DTStack/flinkStreamSQL#431 ·
-
有无对sql 语法校验的方法 Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
DTStack/flinkStreamSQL#430 · 1 commentaire ·
Toutes les issues de DTStack/flinkStreamSQL
Issues similaires
-
certification
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Ouvertebug ecr
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Needs: Triage Type: Feature request
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
AntennaPod/AntennaPod#8794 ·
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
github/copilot-sdk#2760 ·