desertsurge opened a new issue, #6276:
URL: https://github.com/apache/rocketmq/issues/6276

   The file `offsets.json.tmp` can't be created, because the `nameSrvAddr` has 
char ":",it is not allowed in Windows。
   
   logs:
   
   ```
   java.io.FileNotFoundException: 
d:\tmp\logs\rocketmq\[email protected]:9876@9548@77481509595600\ServiceOnce_xxx_channel\offsets.json.tmp
 (文件名、目录名或卷标语法不正确。)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
        at java.io.FileWriter.<init>(FileWriter.java:90)
        at org.apache.rocketmq.common.MixAll.string2FileNotSafe(MixAll.java:165)
        at org.apache.rocketmq.common.MixAll.string2File(MixAll.java:141)
        at 
org.apache.rocketmq.client.consumer.store.LocalFileOffsetStore.persistAll(LocalFileOffsetStore.java:147)
        at 
org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.persistConsumerOffset(DefaultMQPushConsumerImpl.java:1027)
        at 
org.apache.rocketmq.client.impl.factory.MQClientInstance.persistAllConsumerOffset(MQClientInstance.java:487)
        at 
org.apache.rocketmq.client.impl.factory.MQClientInstance.access$300(MQClientInstance.java:87)
        at 
org.apache.rocketmq.client.impl.factory.MQClientInstance$5.run(MQClientInstance.java:300)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        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)
   ```
   
   Code:
   
   `AsyncTraceDispatcher.start()`
   ```java
       public void start(String nameSrvAddr, AccessChannel accessChannel) 
throws MQClientException {
           if (isStarted.compareAndSet(false, true)) {
               traceProducer.setNamesrvAddr(nameSrvAddr);
               traceProducer.setInstanceName(TRACE_INSTANCE_NAME + "_" + 
nameSrvAddr);
               traceProducer.start();
           }
           this.accessChannel = accessChannel;
           this.worker = new Thread(new AsyncRunnable(), 
"MQ-AsyncTraceDispatcher-Thread-" + dispatcherId);
           this.worker.setDaemon(true);
           this.worker.start();
           this.registerShutDownHook();
       }
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to