Skip to content

Handled infinte waiting issue with Log Appender#4350

Merged
Maheshkale447 merged 1 commit into
Releases/Published-Official-Releases/Official-Release-2025.4from
Releases/Official-Release
Oct 19, 2025
Merged

Handled infinte waiting issue with Log Appender#4350
Maheshkale447 merged 1 commit into
Releases/Published-Official-Releases/Official-Release-2025.4from
Releases/Official-Release

Conversation

@Maheshkale447

@Maheshkale447 Maheshkale447 commented Oct 19, 2025

Copy link
Copy Markdown
Contributor

Thank you for your contribution.
Before submitting this PR, please make sure:

  • PR description and commit message should describe the changes done in this PR
  • Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
  • Latest Code from master or specific release branch is merged to your branch
  • No unwanted\commented\junk code is included
  • No new warning upon build solution
  • Code Summary\Comments are added to my code which explains what my code is doing
  • Existing unit test cases are passed
  • New Unit tests are added for your development
  • Sanity Tests are successfully executed for New and Existing Functionality
  • Verify that changes are compatible with all relevant browsers and platforms.
  • After creating pull request there should not be any conflicts
  • Resolve all Codacy comments
  • Builds and checks are passed before PR is sent for review
  • Resolve code review comments
  • Update the Help Library document to match any feature changes

Summary by CodeRabbit

  • Bug Fixes

    • Improved null-safety handling for solution identification in logging.
    • Enhanced resource cleanup and disposal of logging infrastructure.
  • Refactor

    • Optimized asynchronous processing of pending log items for better efficiency.

@Maheshkale447
Maheshkale447 merged commit 6d56eb0 into Releases/Published-Official-Releases/Official-Release-2025.4 Oct 19, 2025
0 of 3 checks passed
@coderabbitai

coderabbitai Bot commented Oct 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

HttpLogAppender.cs modified to refine disposal behavior, convert EntityId and solutionId fields from Guid to nullable Guid, make ProcessRemainingItems async for awaitable batch processing, and remove state resets on specific log messages.

Changes

Cohort / File(s) Summary
Async and Disposal Refactoring
Ginger/GingerCoreNET/log4netLib/HttpLogAppender.cs
Dispose method updated to cancel and await worker thread with proper TaskCanceledException handling. ProcessRemainingItems signature changed to async void to enable awaiting ProcessBatch calls. EntityId and solutionId fields converted from Guid to nullable Guid (Guid?). Field initialization logic simplified to direct assignment from RunSetConfig.Guid and Solution.Guid. State reset logic removed for certain log messages. ExecutionErrorRequests construction updated with null-coalescing operator (solutionId ?? Guid.Empty).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Mixed complexity involving async/await patterns, nullable type conversions, disposal logic refinement, and state management adjustments confined to a single file. Requires careful reasoning around the nullable Guid implications and async ProcessRemainingItems behavior, but localized scope reduces overall review surface.

Possibly related PRs

  • Execution Log Related Changes #4346: Modifies the same HttpLogAppender.cs file with overlapping changes to disposal behavior, ProcessRemainingItems async implementation, and EntityId/solutionId nullable Guid handling logic.

Poem

🐰 A logger hops with async grace,
Nullable guids in their rightful place,
Dispose now waits with gentle care,
ProcessBatch floats through the air,
State resets fade, the code feels fair!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch Releases/Official-Release

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b46119a and 3fddc26.

📒 Files selected for processing (1)
  • Ginger/GingerCoreNET/log4netLib/HttpLogAppender.cs (5 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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 this pull request may close these issues.

1 participant