Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

1.10版本中发现连续Join时抛出数组越界异常

Aperta
#304 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Stack tecnologico
java, sql

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需要进行表转流,流转表的时候才会遇到。
UI5M81IRAH)Y3YB NRF6726

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DTStack/flinkStreamSQL

Tutte le issue di DTStack/flinkStreamSQL

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.