Error `Illegal char <:> at index 2` in Fli...
# troubleshooting
j
Error
Illegal char <:> at index 2
in Flink file system SQL. When obtaining files from the Windows folder in the file system, an exception occurs due to the addition of a '/' prefix to the file path. Is this a bug?,The folder specified for file system scanning is '`file///F/other/temp-data`,' but when obtaining a specific file, it becomes '`/F:/other/temp-data/`hour_user_list_202308170935.csv.' My environment:
JDK1.8
Flink 1.16.0
flink-connector-files 1.16.0
. Here is my code:
Copy code
@Override
public void process() {
    TableEnvironment env = getStreamTableEnvironment();
    // create source table
    env.executeSql(
            FlinkFileSystemResolution
                    // set sourceMonitorInterval,1L one times
                    .create("file:///F:/other/temp-data", "csv", 1L)
                    // ignore error
                    .ignoreErrorLine()
                    .resolvingSql(
                            "create table user_hour_file_source(" +
                                    // METADATA,file path
                                    "`file.name` STRING NOT NULL METADATA," +
                                    "user_type int," +
                                    "client_id varchar(64)," +
                                    "user_id varchar(64)," +
                                    "dslam_id varchar(64)," +
                                    "create_time varchar(64)," +
                                    "primary key(user_type,client_id,user_id,dslam_id,create_time) NOT ENFORCED)"
                    )
    );
    // create sink table
    ...
Exception:
Copy code
Caused by: java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception while polling the records
	at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150) ~[flink-connector-base-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105) ~[flink-connector-base-1.16.0.jar:1.16.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_351]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_351]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_351]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_351]
	... 1 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 2: /F:/other/temp-data/hour_user_list_202308170935.csv
	at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) ~[?:1.8.0_351]
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) ~[?:1.8.0_351]
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) ~[?:1.8.0_351]
	at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94) ~[?:1.8.0_351]
	at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) ~[?:1.8.0_351]
	at java.nio.file.Paths.get(Paths.java:84) ~[?:1.8.0_351]
	at org.apache.flink.connector.file.table.FileSystemTableSource$ReadableFileInfo$2.getValue(FileSystemTableSource.java:499) ~[flink-connector-files-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.file.table.FileInfoExtractorBulkFormat.wrapReader(FileInfoExtractorBulkFormat.java:136) ~[flink-connector-files-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.file.table.FileInfoExtractorBulkFormat.createReader(FileInfoExtractorBulkFormat.java:109) ~[flink-connector-files-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.checkSplitOrStartNext(FileSourceSplitReader.java:112) ~[flink-connector-files-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.fetch(FileSourceSplitReader.java:65) ~[flink-connector-files-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58) ~[flink-connector-base-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142) ~[flink-connector-base-1.16.0.jar:1.16.0]
	at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105) ~[flink-connector-base-1.16.0.jar:1.16.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_351]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_351]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_351]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_351]
	... 1 more