[Bug] Windows Server 2016启动失败
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 115
説明
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
iotdb 1.2.1
Windows Server 2016
### Describe the bug and provide the minimal reproduce step
```
Active code page: 65001
'````````````````````````
Starting IoTDB DataNode
'````````````````````````
"setting local JMX..."
Maximum memory allocation pool = 16384M, initial memory allocation pool = 100M
If you want to change this configuration, please check conf\datanode-env.bat.
Check whether the ports are occupied....
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED -ea -Dlogback.configurationFile="D:\iotdb\\conf\logback-datanode.xml" -DIOTDB_HOME="D:\iotdb\" -DTSFILE_HOME="D:\iotdb\" -DTSFILE_CONF="D:\iotdb\\conf" -DIOTDB_CONF="D:\iotdb\\conf" -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -Xmx16384M -Xms100M -XX:MaxDirectMemorySize=16384M -Djdk.nio.maxCachedBufferSize=16384*1024*1024/16/1024 -cp "D:\iotdb\\lib\*";iotdb.DataNode -Diotdb.jmx.local="true" org.apache.iotdb.db.service.DataNode -s
2023-10-19 13:37:40,085 [main] INFO o.a.i.d.c.IoTDBDescriptor:161 - Start to read config file file:D:/iotdb//conf/iotdb-common.properties
2023-10-19 13:37:40,095 [main] INFO o.a.i.d.c.IoTDBDescriptor:178 - Start to read config file file:D:/iotdb//conf/iotdb-datanode.properties
2023-10-19 13:37:40,104 [main] INFO o.a.i.d.c.IoTDBDescriptor:1623 - initial allocateMemoryForRead = 5153960755
2023-10-19 13:37:40,104 [main] INFO o.a.i.d.c.IoTDBDescriptor:1624 - initial allocateMemoryForWrite = 5153960755
2023-10-19 13:37:40,105 [main] INFO o.a.i.d.c.IoTDBDescriptor:1625 - initial allocateMemoryForSchema = 1717986918
2023-10-19 13:37:40,105 [main] INFO o.a.i.d.c.IoTDBDescriptor:1626 - initial allocateMemoryForConsensus = 1717986918
2023-10-19 13:37:40,105 [main] INFO o.a.i.d.c.IoTDBDescriptor:1791 - allocateMemoryForSchemaRegion = 858993459
2023-10-19 13:37:40,106 [main] INFO o.a.i.d.c.IoTDBDescriptor:1795 - allocateMemoryForSchemaCache = 687194767
2023-10-19 13:37:40,106 [main] INFO o.a.i.d.c.IoTDBDescriptor:1799 - allocateMemoryForPartitionCache = 171798691
2023-10-19 13:37:40,113 [main] INFO o.a.i.t.c.c.TSFileDescriptor:126 - try loading iotdb-common.properties from D:\iotdb\conf\iotdb-common.properties
2023-10-19 13:37:40,129 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateDataDirs(IoTDBConfig.java:1232)
at org.apache.iotdb.db.conf.IoTDBConfig.setTierDataDirs(IoTDBConfig.java:1328)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProperties(IoTDBDescriptor.java:363)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:182)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,132 [main] INFO o.a.i.d.c.IoTDBDescriptor:403 - IoTDB enable memory control: true
2023-10-19 13:37:40,154 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1197)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,155 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1198)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,161 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1199)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,163 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1200)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,164 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1201)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,165 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1202)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,167 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1203)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,168 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1204)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,169 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1205)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,169 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1206)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,169 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1207)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,177 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1208)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,179 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1209)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,180 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1210)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,182 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1211)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,186 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1212)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,188 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1213)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,190 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1214)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,191 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1215)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,192 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1216)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,194 [main] ERROR o.a.i.db.conf.IoTDBConfig:1277 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.db.conf.IoTDBConfig.addDataHomeDir(IoTDBConfig.java:1275)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateDataDirs(IoTDBConfig.java:1232)
at org.apache.iotdb.db.conf.IoTDBConfig.formulateFolders(IoTDBConfig.java:1217)
at org.apache.iotdb.db.conf.IoTDBConfig.updatePath(IoTDBConfig.java:1191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:191)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,201 [main] ERROR o.a.i.c.conf.CommonConfig:208 - Fail to get canonical path of D:\iotdb" -DTSFILE_HOME=D:\iotdb"
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:438)
at java.base/java.io.File.getCanonicalPath(File.java:618)
at org.apache.iotdb.commons.conf.CommonConfig.updatePath(CommonConfig.java:206)
at org.apache.iotdb.db.conf.IoTDBDescriptor.loadProps(IoTDBDescriptor.java:192)
at org.apache.iotdb.db.conf.IoTDBDescriptor.(IoTDBDescriptor.java:85)
at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.(IoTDBDescriptor.java:2085)
at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
at org.apache.iotdb.db.service.DataNode.(DataNode.java:107)
2023-10-19 13:37:40,252 [main] INFO o.a.i.db.service.DataNode:149 - IoTDB-DataNode environment variables:
IOTDB_HOME=D:\iotdb" -DTSFILE_HOME=D:\iotdb";
IOTDB_CONF=D:\iotdb\\conf;
IOTDB_DATA_HOME=null;
2023-10-19 13:37:40,253 [main] INFO o.a.i.db.service.DataNode:150 - IoTDB-DataNode default charset is: UTF-8
2023-10-19 13:37:40,293 [main] INFO o.a.i.c.c.IoTDBThreadPoolFactory:203 - new single scheduled thread pool: Stateful-Trigger-Information-Updater
2023-10-19 13:37:40,300 [main] INFO o.a.i.d.s.DataNodeServerCommandLine:77 - Running mode -s
2023-10-19 13:37:40,304 [main] INFO o.a.i.d.c.IoTDBStartCheck:128 - Starting IoTDB 1.2.1 (Build: aa24cb6)
2023-10-19 13:37:40,304 [main] ERROR o.a.i.d.c.IoTDBStartCheck:134 - Can not create schema dir: D:\iotdb" -DTSFILE_HOME=D:\iotdb"\data\datanode\system\schema
Press any key to continue . . .
```
### What did you expect to see?
从报错信息看到,路径后边有个",路径是拼接的,进而导致报错,我把整个iotdb的lib、conf、bin目录都重新更换还是出现,data目录清除也是这样。
这个问题出现之前,请参照我提的另外一个issue,https://github.com/apache/iotdb/issues/11313
在此之前MQTT消息内部有非法字符,问题不知道怎么消失的,最新状况就是datanode无法启动,整个过程不知道怎么产生
生产环境突然出现这种情况,没有思路入手
另外,我在另外一台windows server 2022上面运转正常,也是mqtt方式插入数据
### What did you see instead?
查找问题,解决问题,fix bug
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
コントリビューションガイド
調査の方向性
Start with the Windows startup command and conf\datanode-env.bat, then inspect IoTDBConfig.addDataHomeDir at line 1275 and the path values shown in the log. Reproduce the IoTDB 1.2.1 DataNode startup on Windows Server 2016. Done means startup completes without the canonical-path syntax errors.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100