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

Transaction priority sorted incorrectly #442

Open
1 of 2 tasks
ctolbert555 opened this issue May 16, 2024 · 0 comments · May be fixed by #447
Open
1 of 2 tasks

Transaction priority sorted incorrectly #442

ctolbert555 opened this issue May 16, 2024 · 0 comments · May be fixed by #447

Comments

@ctolbert555
Copy link

ctolbert555 commented May 16, 2024

Checklist (Please check before submitting)

  • I reviewed the Contributing Guide.
  • I performed a cursory search to see if the bug report is relevant, not redundant, nor in conflict with other tickets.

Describe the bug
Priority sorting of transactions is inaccurate.

To Reproduce
Steps to reproduce the behavior:

  1. Set up two polling directories, dir 1 with non-zero priority, dir 2 with zero priority.
  2. Disable CF wakeups
  3. Copy file 1 to dir 1
  4. Copy file 2 to dir 2
  5. Enable CF wakeups (to ensure both transactions are processed the same wakeup)
  6. Bug: file 1 will be sent before file 2 (file 2 will be placed in the pending queue after file 1)

Expected behavior
file 2 should be prioritized over file 1, and placed in the pending queue before file 1

System observed on:

  • Hardware
  • OS: Oracle Linux 8

Suggested Fix
Create a new static inline function CF_CList_InsertFront_Ex in cf_utils.h
Replace CF_CList_InsertBack_Ex with CF_CList_InsertFront_Ex in CF_InsertSortPrio in cf_utils.c
and update variable name from insert_back to insert_front in CF_InsertSortPrio in cf_utils.c

Reporter Info
Corey Tolbert, JSC cFS team

dmknutsen pushed a commit to dmknutsen/CF that referenced this issue May 31, 2024
@dmknutsen dmknutsen linked a pull request May 31, 2024 that will close this issue
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant