Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check whether there exists file conflict on both scheduler and judger #29

Open
1 of 2 tasks
LauYeeYu opened this issue Jul 10, 2023 · 1 comment
Open
1 of 2 tasks
Labels

Comments

@LauYeeYu
Copy link
Member

LauYeeYu commented Jul 10, 2023

If there is a file conflict, the behaviour depends on which file is prepared later than others. This is REALLY strange because it will cause the result to be random.

如果发生文件冲突,评测行为将依赖于评测程序中哪个文件后被准备好。这个行为会导致评测结果是随机的。

Example:

src.hpp is mentioned in the supportedFiles in config.json, and the spj version is 4. Either the file in the problem package or the file submitted will be use depending on which one has been prepared later.

config.jsonsupportedFiles 里有 src.hpp,评测点为 spj 4。评测机可能使用题目数据包中的 src.hpp,也可能使用用户提交的 src.hpp

Solution:

解决方案:

  • (Quick fix) The judger should detect the file conflict before fetching. 评测机应当在抓取数据前检测文件冲突。
  • (Better fix) The scheduler should detect the file conflict when generating the judger plan. Scheduler 应当在生成评测计划的时候检测文件冲突。

Note: The quick fix should be done even if the better fix is done because there are some judger plan that has already got a file conflict.

注意:即使已经完成了 better fix,也需要实现 quick fix,因为已经有了错误的数据包。

@LauYeeYu LauYeeYu added enhancement New feature or request scheduler judger labels Jul 10, 2023
@LauYeeYu
Copy link
Member Author

59d4a27 implements the quick fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant