-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Consensus simple merging #8953
base: develop
Are you sure you want to change the base?
Consensus simple merging #8953
Conversation
cvat-ui/src/components/consensus-management-page/consensus-management-page.tsx
Outdated
Show resolved
Hide resolved
supervisord/worker.consensus.conf
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need another worker for this? Can't an existing worker, like the quality report worker, handle this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently, we add a worker almost for any new activity, so this PR does the same. Probably, it can be optimized.
schema: | ||
type: string | ||
description: | | ||
The consensus merge request id. Can be specified to check operation status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be using the request API for status checking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently, the reason is that Requests API v2 is not implemented yet. It's hard to integrate anything except import or export into the same server code. Supporting other use cases is one of the key goals of v2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you at least move the status check to a different endpoint? Creating a request and checking its status are different operations, and should not be mixed in a single endpoint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will create one more API style. The one implemented is used for quality reports, job validations, and analytics.
schema: | ||
type: string | ||
description: | | ||
The consensus merge request id. Can be specified to check operation status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you at least move the status check to a different endpoint? Creating a request and checking its status are different operations, and should not be mixed in a single endpoint.
cvat/schema.yml
Outdated
type: number | ||
format: double | ||
description: | | ||
Minimum required percent of sources having an annotation for it to be accepted |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend using fractions in the API (0-1) rather than percentages. Percentage is a display format; for calculations, fractions usually make more sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a number in the range [0;1], actually. This description is a little bit more UI friendly, but it's possible to change the word and replace it in UI settings instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean... the description is for the API, not the UI. So it should describe what the API accepts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, updated
utils.is_sandbox | ||
user := input.auth.user | ||
qobject := [ | ||
{"task__owner_id": user.id}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any reason to allow listing quality settings without a task_id
filter? It seems like you could make that filter mandatory, and then just make sure that the user has the appropriate permissions for the task. That way, you won't have to write more complex access rules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's hard to say, it's just a regular list endpoint for a model. Maybe someone needs to list settings in a project or in an org.
|
Motivation and context
Depends on #8939, #9026
A part of #8434
consensus
RQ queue and workerLimitations:
How has this been tested?
Checklist
develop
branch(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)
License
Feel free to contact the maintainers if that's a concern.