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

Kernel TreeID #443

Closed
nuclearcat opened this issue Sep 4, 2024 · 3 comments
Closed

Kernel TreeID #443

nuclearcat opened this issue Sep 4, 2024 · 3 comments
Labels

Comments

@nuclearcat
Copy link
Member

Right now, if we do custom checkout, we might be doing it to same tree / branch / commit, and it is very difficult to select nodes relevant to specific tree, as combination
tree + branch + commit is not unique. We need to introduce treeid, which will be unique for each tree, and we can use it to select nodes relevant to specific tree.
unique treeid = sha256(tree + branch + commit + time), assigned to checkout node, and inherited to all nodes in job.

@JenySadadia
Copy link
Contributor

Can you please elaborate on use cases where we need to use tree ID?
Do you think node ID, owner, and submitter would help to distinguish specific custom checkout?

@nuclearcat
Copy link
Member Author

For example we have function to submit custom checkout. In theory we might have situation, for example developer want to run same checkout several times and detect "flaky" tests. So he will submit same tree+branch+commit_id multiple times.
This will create problem, that we will not be able to identify easily new nodes - which tree they belong, unless we walk over them by parent field. And in case if it is some 5th level test, processing such trees become really complicated, while with treeid it is trivial and doesn't require fetching intermediate nodes.
E.g. for example when he submit 3 such trees, he receive 3 treeid: aaa1, aaa2, aaa3.
So to select all test results he can use selector treeid=aaa1&kind=test and so on, and easily compare them.
If we don't have treeid - selecting such tests will become complicated.

@nuclearcat
Copy link
Member Author

Implemented.

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

2 participants