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

Fix #441, cf delete files during error when tx #459

Merged
merged 1 commit into from
Aug 8, 2024

Conversation

avan989
Copy link

@avan989 avan989 commented Aug 1, 2024

Fix #441, Update to handle an error during tx. For polling, the file gets moved or deleted to prevent an infinite loop. For others, the file does not get deleted. Update Unit Test.

Checklist (Please check before submitting)

Describe the contribution
A clear and concise description of what the contribution is.

Testing performed
Steps taken to test the contribution:

  1. Tx class 2 cmd and make fail. ( ack limit reached, no eof-ack)

  2. Check file has not been deleted.

  3. Put in polling directory and see and make fail (ack limit reached, no eof-ack)

  4. Check file has been moved to fail directory

  5. File is no longer in polling directory

  6. Put in polling directory, no failing directory, and make fail ( ack limit reached, no eof-ack)

  7. The file is deleted from the polling directory.

Expected behavior changes
A clear and concise description of how this contribution will change behavior and level of impact.

  1. When an error occurs during the TX.
    a. if the file is not in a polling directory, do nothing
    b. if the file is in a polling directory, attempt to move to the "fail" directory and delete it from the polling directory.

System(s) tested on

  • Hardware: [e.g. PC, SP0, MCP750]
  • OS: [e.g. Ubuntu 18.04, RTEMS 4.11, VxWorks 6.9]
  • Versions: [e.g. cFE 6.6, OSAL 4.2, PSP 1.3 for mcp750, any related apps or tools]
    Tested on a docker container with ubuntu22.04 running against COSMOS

Additional context
Add any other context about the contribution here.

Third party code
If included, identify any third party code and provide text file of license

Contributor Info - All information REQUIRED for consideration of pull request
Full name and company/organization/center of all contributors ("Personal" if individual work)

  • Note CLA's apply to software contributions.
    Anh Van, GSFC

* See description in cf_cfdp.h for argument/return detail
*
*-----------------------------------------------------------------*/
bool CF_CFDP_IsPollingDir(const char * src_file, uint8 chan_num)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
void CF_CFDP_HandleNotKeepFile(CF_Transaction_t *txn)
{
/* Sender */
if (CF_CFDP_IsSender(txn))

Check warning

Code scanning / CodeQL

Side effect in a Boolean expression Warning

This Boolean expression is not side-effect free.
* See description in cf_cfdp.h for argument/return detail
*
*-----------------------------------------------------------------*/
void CF_CFDP_MoveFile(const char *src, const char *dest_dir)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
* See description in cf_cfdp.h for argument/return detail
*
*-----------------------------------------------------------------*/
void CF_CFDP_HandleNotKeepFile(CF_Transaction_t *txn)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
Fix nasa#441, Update to handle error during tx. For polling, the file gets moved or deleted to pervent infinite loop. For others, the file does not get deleted. Update Unit Test and documentation.
@avan989 avan989 force-pushed the Fix-441-cf-delete-file-transmit-error branch from 1441e5d to b357f17 Compare August 1, 2024 14:43
@avan989 avan989 marked this pull request as ready for review August 1, 2024 14:45
@dzbaker dzbaker merged commit 7eac600 into nasa:main Aug 8, 2024
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cf delete file when there is an error during tx
2 participants