iotdb icon indicating copy to clipboard operation
iotdb copied to clipboard

[Bug] Windows Server 2016启动失败

Open yjc980121 opened this issue 1 year ago • 1 comments

Search before asking

  • [X] I searched in the 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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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.<init>(IoTDBDescriptor.java:85)
        at org.apache.iotdb.db.conf.IoTDBDescriptor$IoTDBDescriptorHolder.<clinit>(IoTDBDescriptor.java:2085)
        at org.apache.iotdb.db.conf.IoTDBDescriptor.getInstance(IoTDBDescriptor.java:101)
        at org.apache.iotdb.db.service.DataNode.<clinit>(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!

yjc980121 avatar Oct 19 '23 06:10 yjc980121

手动修改start-datanode.bat后正常,在头部添加如下内容

set IOTDB_HOME=D:\iotdb echo %IOTDB_HOME%

显示IOTDB_HOME=D:\iotdb,未指定或者从系统注册表读取的地址尾部自动会添加一个,显示内容为 IOTDB_HOME=D:\iotdb\

可能微软对于路径的写法不同操作系统之间表现不一致

yjc980121 avatar Oct 19 '23 07:10 yjc980121