[Bug] Windows Server 2016启动失败
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 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