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

Stroom Proxy Failed Forwarding #4700

Open
stroomdev00 opened this issue Jan 20, 2025 · 2 comments
Open

Stroom Proxy Failed Forwarding #4700

stroomdev00 opened this issue Jan 20, 2025 · 2 comments
Assignees
Milestone

Comments

@stroomdev00
Copy link

stroomdev00 commented Jan 20, 2025

If/when stroom-proxy fails to send data to its onward destination after the configured retry limit, the files are stored within either
/stroomdata-local/stroom-proxy-repo/50_forwarding/stroomViaALB/03_failure or
/stroomdata-local/stroom-proxy-home/failures

There appears to be no sensible way of resubmitting these files when whatever caused the initial failure has been resolved. To allow manual resubmission we need the following to occur:

  1. Files to be stored in feed-specific directories for ease of sorting.
  2. Files/directories should be able to be moved/copied to another directory manually either individually or in bulk so that they can be resubmitted to the proxy.
  3. If file forwarding starts to fail, the retry holdoff period should be automatically increased so that files do not appear in the failed directories too soon.
  4. There must be an ability to switch off automatic forwarding attempts for situations such as a planned backend outage or known fault.
@stroomdev00 stroomdev00 added this to the v7.5 milestone Jan 20, 2025
@at055612
Copy link
Member

at055612 commented Jan 20, 2025

Also, if the proxy gets a REJECTED response from the destination then it should delete the sent file and NOT mark it for retry.

The default for retrying should be infinite retries.

@stroomdev66 stroomdev66 self-assigned this Jan 20, 2025
@stroomdev66
Copy link
Member

stroom.proxy.app.handler.HttpSender is the code responsible for proxy sending data to Stroom.

The rejected response is specific and relates to this:

    FEED_IS_NOT_SET_TO_RECEIVED_DATA(HttpServletResponse.SC_NOT_ACCEPTABLE, 110, "Feed is not set to receive data",
            "The feed you have provided has not been setup to receive data"),

This is an HTTP response code of 406 and a Stroom response code of 110. We need to be sure that we are only deleting data if we get this error response. We also need to be sure that Stroom doesn't provide this error respoonse just because a feed isn't defined.

Note that a feed not defined error should be returned as:

    FEED_IS_NOT_DEFINED(HttpServletResponse.SC_NOT_ACCEPTABLE, 101, "Feed is not defined",
            "The feed you have provided is not known within Stroom"),

Which is the same HTTP response code but a Stroom response code of 101.

@stroomdev66 stroomdev66 assigned at055612 and unassigned stroomdev66 Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants