Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] [admin]Throw exception Illegal character in scheme name at index 0 XXXXX when Dolphischeduler running the workflow which pushed by dinky #3207

Closed
2 of 3 tasks
jack820320 opened this issue Mar 1, 2024 · 2 comments
Assignees
Labels
Bug Something isn't working

Comments

@jack820320
Copy link

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

IDEA本地开发,dev分支,flink版本1.16.3
使用dinky官网1.0的dolphischeduler集成示例sql,

checkpoint 配置 自行根据实际情况修改, 以下为示例

set execution.checkpointing.checkpoints-after-tasks-finish.enabled=true;
SET pipeline.operator-chaining=false;
set state.backend.type=rocksdb;
set execution.checkpointing.interval=8000;
set state.checkpoints.num-retained=10;
set cluster.evenly-spread-out-slots=true;

DROP TABLE IF EXISTS source_table3;
CREATE TABLE IF NOT EXISTS
source_table3 (
order_id BIGINT,
product BIGINT,
amount BIGINT,
order_time as CAST(CURRENT_TIMESTAMP AS TIMESTAMP(3)),
WATERMARK FOR order_time AS order_time - INTERVAL '2' SECOND
)
WITH
(
'connector' = 'datagen',
'rows-per-second' = '1',
'fields.order_id.min' = '1',
'fields.order_id.max' = '2',
'fields.amount.min' = '1',
'fields.amount.max' = '10',
'fields.product.min' = '1',
'fields.product.max' = '2'
);

DROP TABLE IF EXISTS sink_table5;

CREATE TABLE IF NOT EXISTS
sink_table5 (
product BIGINT,
amount BIGINT,
order_time TIMESTAMP(3),
one_minute_sum BIGINT
)
WITH
('connector' = 'print');

INSERT INTO
sink_table5
SELECT
product,
amount,
order_time,
SUM(amount) OVER (
PARTITION BY
product
ORDER BY
order_time
RANGE BETWEEN INTERVAL '1' MINUTE PRECEDING
AND CURRENT ROW
) as one_minute_sum
FROM
source_table3;

dolphischeduler版本3.2.1
dinky侧推送成功,ds端成功收到推送工作流,ds在运行工作流时,ds日志显示如下异常

[INFO] 2024-03-01 14:34:14.743 +0800 - ***********************************************************************************************
[INFO] 2024-03-01 14:34:14.755 +0800 - Send task status RUNNING_EXECUTION master: 192.168.13.144:1234
[INFO] 2024-03-01 14:34:14.756 +0800 - TenantCode: root check successfully
[INFO] 2024-03-01 14:34:14.757 +0800 - WorkflowInstanceExecDir: /tmp/dolphinscheduler/exec/process/root/12778041218784/12780086606176_1/5/3 check successfully
[INFO] 2024-03-01 14:34:14.757 +0800 - Create TaskChannel: org.apache.dolphinscheduler.plugin.task.dinky.DinkyTaskChannel successfully
[INFO] 2024-03-01 14:34:14.759 +0800 - Download resources successfully:
ResourceContext(resourceItemMap={})
[INFO] 2024-03-01 14:34:14.760 +0800 - Download upstream files: [] successfully
[INFO] 2024-03-01 14:34:14.760 +0800 - Task plugin instance: DINKY create successfully
[INFO] 2024-03-01 14:34:14.760 +0800 - Initialize dinky task params: {
"localParams" : [ ],
"varPool" : null,
"address" : "192.168.13.1:8888",
"taskId" : "5",
"online" : false
}
[INFO] 2024-03-01 14:34:14.761 +0800 - Success initialized task plugin instance successfully
[INFO] 2024-03-01 14:34:14.761 +0800 - Set taskVarPool: null successfully
[INFO] 2024-03-01 14:34:14.761 +0800 - ***********************************************************************************************
[INFO] 2024-03-01 14:34:14.761 +0800 - ********************************* Execute task instance *************************************
[INFO] 2024-03-01 14:34:14.761 +0800 - ***********************************************************************************************
[ERROR] 2024-03-01 14:34:14.762 +0800 - dinky task terminated:
java.net.URISyntaxException: Illegal character in scheme name at index 0: 192.168.13.1:8888/openapi/version
at java.net.URI$Parser.fail(URI.java:2847)
at java.net.URI$Parser.checkChars(URI.java:3020)
at java.net.URI$Parser.checkChar(URI.java:3030)
at java.net.URI$Parser.parse(URI.java:3046)
at java.net.URI.(URI.java:588)
at org.apache.http.client.utils.URIBuilder.(URIBuilder.java:82)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.doGet(DinkyTask.java:413)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.getDinkyVersion(DinkyTask.java:356)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.handle(DinkyTask.java:91)
at org.apache.dolphinscheduler.server.worker.runner.DefaultWorkerTaskExecutor.executeTask(DefaultWorkerTaskExecutor.java:54)
at org.apache.dolphinscheduler.server.worker.runner.WorkerTaskExecutor.run(WorkerTaskExecutor.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[ERROR] 2024-03-01 14:34:14.763 +0800 - dinky task terminated:
java.net.URISyntaxException: Illegal character in scheme name at index 0: 192.168.13.1:8888/openapi/submitTask
at java.net.URI$Parser.fail(URI.java:2847)
at java.net.URI$Parser.checkChars(URI.java:3020)
at java.net.URI$Parser.checkChar(URI.java:3030)
at java.net.URI$Parser.parse(URI.java:3046)
at java.net.URI.(URI.java:588)
at org.apache.http.client.utils.URIBuilder.(URIBuilder.java:82)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.doGet(DinkyTask.java:413)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.submitTaskV0(DinkyTask.java:367)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.submitApplicationV0(DinkyTask.java:125)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.submitApplication(DinkyTask.java:98)
at org.apache.dolphinscheduler.plugin.task.api.AbstractRemoteTask.handle(AbstractRemoteTask.java:62)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.handle(DinkyTask.java:92)
at org.apache.dolphinscheduler.server.worker.runner.DefaultWorkerTaskExecutor.executeTask(DefaultWorkerTaskExecutor.java:54)
at org.apache.dolphinscheduler.server.worker.runner.WorkerTaskExecutor.run(WorkerTaskExecutor.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[ERROR] 2024-03-01 14:34:14.763 +0800 - dinky task submit failed with error: Please check that the dinky version is greater than or equal to 0.6.5
[ERROR] 2024-03-01 14:34:14.763 +0800 - dinky task terminated:
java.net.URISyntaxException: Illegal character in scheme name at index 0: 192.168.13.1:8888/openapi/getJobInstance
at java.net.URI$Parser.fail(URI.java:2847)
at java.net.URI$Parser.checkChars(URI.java:3020)
at java.net.URI$Parser.checkChar(URI.java:3030)
at java.net.URI$Parser.parse(URI.java:3046)
at java.net.URI.(URI.java:588)
at org.apache.http.client.utils.URIBuilder.(URIBuilder.java:82)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.doGet(DinkyTask.java:413)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.getJobInstanceInfo(DinkyTask.java:394)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.trackApplicationStatusV0(DinkyTask.java:189)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.trackApplicationStatus(DinkyTask.java:107)
at org.apache.dolphinscheduler.plugin.task.api.AbstractRemoteTask.handle(AbstractRemoteTask.java:71)
at org.apache.dolphinscheduler.plugin.task.dinky.DinkyTask.handle(DinkyTask.java:92)
at org.apache.dolphinscheduler.server.worker.runner.DefaultWorkerTaskExecutor.executeTask(DefaultWorkerTaskExecutor.java:54)
at org.apache.dolphinscheduler.server.worker.runner.WorkerTaskExecutor.run(WorkerTaskExecutor.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[ERROR] 2024-03-01 14:34:14.764 +0800 - dinky task submit failed with error: Please check that the dinky version is greater than or equal to 0.6.5
[INFO] 2024-03-01 14:34:14.764 +0800 - ***********************************************************************************************
[INFO] 2024-03-01 14:34:14.764 +0800 - ********************************* Finalize task instance ************************************
[INFO] 2024-03-01 14:34:14.764 +0800 - ***********************************************************************************************
[INFO] 2024-03-01 14:34:14.764 +0800 - Upload output files: [] successfully
[INFO] 2024-03-01 14:34:14.770 +0800 - Send task execute status: FAILURE to master : 192.168.13.144:1234
[INFO] 2024-03-01 14:34:14.771 +0800 - Remove the current task execute context from worker cache
[INFO] 2024-03-01 14:34:14.771 +0800 - The current execute mode isn't develop mode, will clear the task execute file: /tmp/dolphinscheduler/exec/process/root/12778041218784/12780086606176_1/5/3
[INFO] 2024-03-01 14:34:14.771 +0800 - Success clear the task execute file: /tmp/dolphinscheduler/exec/process/root/12778041218784/12780086606176_1/5/3
[INFO] 2024-03-01 14:34:14.771 +0800 - FINALIZE_SESSION

What you expected to happen

希望按dinky官网示例sql,ds端任务执行结果显示正常

How to reproduce

目前在我本地开发中,推送到ds端任务首次执行时一定会重现这个问题

Anything else

ds的日志中显示:
Initialize dinky task params:
[INFO] 2024-03-01 14:34:14.760 +0800 - Initialize dinky task params: {
"localParams" : [ ],
"varPool" : null,
"address" : "192.168.13.1:8888",
"taskId" : "5",
"online" : false
}
address的值,192.168.13.1:8888前面缺少http://
我尝试修改
org.dinky.service.impl.SchedulerServiceImpl的pushAddTask()方法,位于第90行位置为

dinkyTaskParams.setAddress("http://" +
SystemConfiguration.getInstances().getDinkyAddr().getValue());
重新编译,重新提交,推送到ds端,ds任务则执行正常

Version

dev

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@jack820320 jack820320 added Bug Something isn't working Waiting for reply Waiting for reply labels Mar 1, 2024
Copy link

github-actions bot commented Mar 1, 2024

Hello @jack820320, this issue is about CDC/CDCSOURCE, so I assign it to @aiwenmo. If you have any questions, you can comment and reply.

你好 @jack820320, 这个 issue 是关于 CDC/CDCSOURCE 的,所以我把它分配给了 @aiwenmo。如有任何问题,可以评论回复。

@aiwenmo
Copy link
Contributor

aiwenmo commented Mar 1, 2024

image

@aiwenmo aiwenmo removed the Waiting for reply Waiting for reply label Mar 1, 2024
@aiwenmo aiwenmo closed this as completed Mar 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants