1.10版本中发现连续Join时抛出数组越界异常
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- stream-processing
Direzione di ricerca
Inizia in com.dtstack.flink.sql.side.ParserJoinField, nello specifico in getAllField(JoinScope scope) intorno alle righe 124-127, e riproduci la query segnalata con due join sulla stessa tabella dimensionale. Confronta field.getFieldNames() con field.getTotalFields() quando il campo contiene un Row, quindi verifica che la query non generi più un errore di indice dell'array.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
我将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需要进行表转流,流转表的时候才会遇到。

- Lingua principale
- Java
- Stelle
- 2k
- Fork
- 913
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DTStack/flinkStreamSQL
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
DTStack/flinkStreamSQL#467 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
DTStack/flinkStreamSQL#437 · 3 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
DTStack/flinkStreamSQL#432 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
DTStack/flinkStreamSQL#431 ·
-
有无对sql 语法校验的方法 Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
DTStack/flinkStreamSQL#430 · 1 commento ·
Tutte le issue di DTStack/flinkStreamSQL
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
Two open-case totals on one screen: the Programs tile says 15,858 and the nav badge says 15,868 Apertabug frontend maui-pilot
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
objectionary/eo-graphs#74 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100