Hi, The same question.
> so there must be no overlap between the two parameters Ok, we need to have a check before startup. > Therefore, I suspected that it was an abnormal publishing of the sequence folder list and the unsequence folder list. What abnormal "publishing" means? > I tracked all the places where it was possible to use the two objects and found that it will returned the object directly when I require them from multi-file directory manager. the two objects? The bug seems critical and the solution may just be create a new Java Object (which overrides the equals() and hashCode()? I guess.), but the description of the bug is really not so good... Maybe you can show how to reproduce the bug in the issue description and then analyze why. And, finally submit a PR just for the issue (rather than along with the sync module. As you know, the sync module PR may be blocked for a long time to wait committers to review it, but the bug-fix PR can be merged quickly because there is no too many code modifications). Best, ----------------------------------- Xiangdong Huang School of Software, Tsinghua University 黄向东 清华大学 软件学院 徐毅 <[email protected]> 于2019年9月4日周三 上午5:19写道: > Hi, > > > After reading your explanation, I’m still confused about your problem. > First, what's the meaning of 'object abnormal publishing’? Can you add some > example codes to define your problem? Besides, you have fixed this problem > in your sync pr, I suggest you create an individual branch to solve this > problem since this problem is a common case. > > > By the way, these are few grammar mistakes in your explanation, try to > avoid them next time. :) > > > Thanks > XuYi > > > > > On 09/4/2019 16:46,李天安<[email protected]> wrote: > Hi, > Recently,in developing sync module, I found a very important bug in the > process of unit testing, which will seriously affect the normal operation > of the system. During the unit test of sync module, I found that when I > retrieved the next sequence folder from the multi-file directory manager, I > may get an unseuqence folder, which made me confused and began to track > down the problem. > > > In IoTDB, sequence folders and unsequence folders are specified as user > parameters, and currently the name of the sequence folder is "sequence" and > the name of unsequence folder is “unsequence”, so there must be no overlap > between the two parameters. Therefore, I suspected that it was an abnormal > publishing of the sequence folder list and the unsequence folder list. I > tracked all the places where it was possible to use the two objects and > found that it wil returned the object directly when I require them from > multi-file directory manager. It is further found that merging the two > objects acquired in Storage Group Processor causes problems. > > > The problem is very simple and hidden but serious. The reason why it has > not been found is that this method of incorrectly modifying the contents of > the list is currently only used in the delete module, which is nearly > unused. Now that this problem has been solved in sync pr, I just want to > share with you here. The issue of variable publishing still needs to be > paid attention to. In addition, people interested in sync module can focus > on https://issues.apache.org/jira/browse/IOTDB-198. > > > > > Best Regards, > ————————————————— > Tianan Li > School of Software, Tsinghua University > > 李天安 > 清华大学 软件学院
