-
Notifications
You must be signed in to change notification settings - Fork 847
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
Readiness probe failed: HTTP probe failed with statuscode: 503 after all files have been sent to bigquery #1369
Comments
Thanks for raising this @madalina2311! It will require a some investigation, but, to help narrow it down, how did you determine that "all the files from the folder have been sent to BQ"? Benthos should shut down automatically for such inputs where there isn't anything left to read. Does your pod contain just the Benthos container or does it also have some sidecar which acts as a metrics proxy and perhaps reports 503 when Benthos shuts down. Do you see any relevant logs coming from the Benthos container? PS: There's some work being done in #1363 to add a |
The folder contains events from nats (one event per file). I have a test stream and i know how many messages i send. i get the same number of json files inside the folder. On top of that, i have "delete_objects: true" (Whether to delete downloaded objects from the bucket once they are processed - so i guess this means that it will delete each processed event - aka added to BQ table ). I do a count of events on BQ table and equals the number of json files (events i sent to nats). At this point the bucket is empty and i get "Readiness probe failed: HTTP probe failed with statuscode: 503" - but nothing relevant comes in the benthos logs - level=info msg="Inserting messages as objects to GCP BigQuery:development:nats:SingleCall" @service=benthos label=bq_singlecall path=root.output stream=bq_SingleCall" The rest of the pipelines work (add logs to bucket from nats : nats-> gcs) despite the 503 message because I start generating events and i see how the messages appear in buckets. But the copy from gcs bucket to BQ does not resume unless i restart the pod. Also, there is no sidecar deployed. So I understand that this pipeline should shutdown once the last file from the bucket is processed (sent to BQ) and something has to restart it to resume processing (every x minutes) ? This is not like a watcher that will stream messages to BQ each time they appear in bucket? Is there something that i could potentially add to make my pipeline run on a continuous basis? I do know that streaming from nats to BQ works but the use case in this situation is gcs to BQ as i get multiple events inside the buckets (from other sources as well). |
Yeah, that's what I'd expect to happen, but I need to set up a GCP account to test. Try testing it locally if you can and confirm. I wonder if you'll see anything extra in the logs if you set the level to
Nope, it only lists the files in the bucket once and then starts reading the ones it discovered. It should shut down once it's done.
I guess you could try wrapping the input in a |
Hi. I am adding new notes here as i pulled the latest version and ran again some tests . The following appears after all files have been processes . Note that in my situation (because i use [> 2022/09/13 09:09:25 http: panic serving 12.0.0.86:39198: runtime error: invalid memory address or nil pointer dereference
|
Hey @madalina2311 thanks for the trace, should be fixed with: 64eb723 |
Hi,
I am using benthos 4.5.0 and i am using gcp_cloud_storage input and gcp_bigquery as an output (streaming mode).
I have a folder containing a bunch of json logs and my pipelines is batching those and sending them to BQ table.
input:
label: "gcs"
gcp_cloud_storage:
bucket: "benthos_storage"
prefix: "dev/StatusUpdate/2022/08/05/16"
codec: all-bytes
delete_objects: true
output:
label: "bq"
gcp_bigquery:
project: "dev"
dataset: "dev_status"
table: "StatusUpdate"
format: NEWLINE_DELIMITED_JSON
max_in_flight: 100
create_disposition: "CREATE_IF_NEEDED"
auto_detect: true
batching:
count: 100
byte_size: 0
period: 30s
The problem appears after all the files from the folder have been sent to BQ. The only error i get is "Readiness probe failed: HTTP probe failed with statuscode: 503" -my pod is still running; if i add a new file inside the folder it does not get delivered to BQ unless i restart the pod and it gets stuck again once all the newly added files are sent to BQ.
The same behaviour happens with "delete_objects: false".
Can you advise? Am I configuring something wrong?
The text was updated successfully, but these errors were encountered: