WeBankFinTech / DataSphereStudio

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.
https://github.com/WeBankFinTech/DataSphereStudio-Doc
Apache License 2.0
3.08k stars 1k forks source link

工作流中,两个jdbc的节点的ip:host相同,但是库不同的时候,只会加载其中一个jdbc #109

Open 5herhom opened 4 years ago

5herhom commented 4 years ago

第一次执行包含两个不同jdbc节点的工作流还可以成功。编辑之后(可以增加一个新节点),第二次,执行工作流,则执行失败。失败的情况,如下图:

image

其中,jdbc01和jdbc03的url是同一个ip下的不同库。如下图: jdbc01:

image

jdbc03:

image

同时,单独执行jdbc02,得到了成功的结果:

image

而单独执行jdbc03,得到失败的结果:

image

此时,删掉jdbc03的节点后,又可以正常执行:

image

查看日志:jdbc03失败的原因,是因为jdbc03虽然配置的url库为prestoConf,但是最终执行jdbc时,所用的却是test01库(即jdbc01所用的库) 日志如下:

image

日志中可以看到,执行以前加载的jdbc是prestoConf,但是执行时的报错,却用的是test01。可能是因为com.webank.wedatasphere.linkis.entrance.execute.EntranceExecutorManagerImpl中的findUsefulExecutor在加载缓存时,加载错误。

似乎这个问题在相同ip下的不同库就会出现。

控制台配置图也没有进行默认配置,控制台配置图:

image

麻烦帮忙排查下该问题,谢谢。

5herhom commented 4 years ago

问题更新: jdbc的节点,只要有两个节点的ip:host相同,但是库不同,只会加载其中一个jdbc

chaogefeng commented 4 years ago

@5herhom thanks,JDBC parameters are globally configured.

5herhom commented 4 years ago

@5herhom thanks,JDBC parameters are globally configured.

Does It mean that if we want to use different database, we should specify it is in sql code , and shouldn't specify the database in the jdbc parameter?