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

mysteriously wedged sds #21

Closed
rhs opened this issue Apr 18, 2017 · 2 comments
Closed

mysteriously wedged sds #21

rhs opened this issue Apr 18, 2017 · 2 comments

Comments

@rhs
Copy link
Contributor

rhs commented Apr 18, 2017

My ambassador got into a mysteriously wedged state. It was responding just fine to /ambassador/* queries, but it refused to route to my upstream "hello" cluster.

After some head scratching I managed to track this down to the sds service being wedged. I was able to diagnose this because a) the sds service was hanging when I queried it, and b) I got the appended stack trace from the logs.

This raises the obvious question of why it got wedged in this way, but perhaps more importantly this points to the need for some kind of health checking on the various envoy "plugin" services.

[rhs@venture hello]$ kubectl logs ambassador-sds-3085809130-cp47x  
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 699, in inner
    srv.serve_forever()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 536, in serve_forever
    HTTPServer.serve_forever(self)
  File "/usr/lib/python2.7/SocketServer.py", line 238, in serve_forever
    self._handle_request_noblock()
  File "/usr/lib/python2.7/SocketServer.py", line 297, in _handle_request_noblock
    self.handle_error(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 232, in handle
    rv = BaseHTTPRequestHandler.handle(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 267, in handle_one_request
    return self.run_wsgi()
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 209, in run_wsgi
    execute(self.server.app)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 200, in execute
    write(data)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 168, in write
    self.send_header(key, value)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 401, in send_header
    self.wfile.write("%s: %s\r\n" % (keyword, value))
IOError: [Errno 32] Broken pipe
@kflynn
Copy link
Member

kflynn commented Apr 26, 2017

It seems that the ambassador-sds as shipped can end up hanging after awhile. This is probably because it's running out of memory, despite there being no obvious thing that would cause it to hang onto anything.

Planning to switch it to Python 3.6 and do some bulletproofing. Also see #32.

@kflynn
Copy link
Member

kflynn commented Nov 2, 2017

Ambassador doesn't ship with SDS any more.

@kflynn kflynn closed this as completed Nov 2, 2017
kflynn pushed a commit that referenced this issue Apr 10, 2019
Bump Pro version 0.3.0 → 0.3.1
LukeShu pushed a commit that referenced this issue Sep 6, 2019
LukeShu added a commit that referenced this issue Sep 6, 2019
Makefile Tidy

Tidy the Makefile for preparation for merge with oauth.
LukeShu pushed a commit that referenced this issue Sep 6, 2019
Initial Consul Connect Integration + tests
acookin pushed a commit that referenced this issue Mar 10, 2021
Update tag and override RBAC resource name option
acookin added a commit that referenced this issue Aug 18, 2021
acookin added a commit that referenced this issue Aug 24, 2021
acookin added a commit that referenced this issue Aug 24, 2021
* ensure pod log uploading when pytests fail

- incorrect if() clause in yaml caused failure to upload pod logs,
  making it hard to diagnose failures

Signed-off-by: Alice Nodelman <[email protected]>

* fixup links in readme (#3682)

Signed-off-by: Alix Cook <[email protected]>

* fix chart readme (#3690)

Signed-off-by: Alix Cook <[email protected]>

* Document similar implementation in DevPortal (#3691)

* Document similar implementation in DevPortal

Signed-off-by: alex <[email protected]>

* Added comment to the AmbassadorMapping CRD docs attribute

Signed-off-by: alex <[email protected]>

* make generate

Signed-off-by: Alix Cook <[email protected]>

Co-authored-by: Alix Cook <[email protected]>

* split out t_mappingtests into namespace sets (default and plain)

    - some of the mappingtests are designed to run in the default namespace,
      some in the plain namespace.  Split up these tests into different py
      files to make it easier to understand and execute
    - update pytest harness to start an httpbin for each namespace
      defined in tests under execution
    - update plain test gold file to use correct namespace

Signed-off-by: Alice Nodelman <[email protected]>

* add devel (#3696)

Signed-off-by: Alix Cook <[email protected]>

* Update for v2.0.2-ea (#3698)

Signed-off-by: Alix Cook <[email protected]>

* Update for v2.0.2-ea

Signed-off-by: Alix Cook <[email protected]>

* update envoy commit

Signed-off-by: Aidan Hahn <[email protected]>

* dont push manifests if IS_PRIVATE

Signed-off-by: Flynn <[email protected]>

* updates for embargoed

Signed-off-by: Flynn <[email protected]>

* envoy v3 should be default

Signed-off-by: Flynn <[email protected]>

* run make generate

Signed-off-by: Flynn <[email protected]>

* Update for v1.14.0.

* dont push manifests if IS_PRIVATE
* updates for embargoed
* Update for v1.14.0

Signed-off-by: Alix Cook <[email protected]>

* fixup changelog

Signed-off-by: Flynn <[email protected]>

* gotest fix (#16)

* gotest fix

* undo

Signed-off-by: Flynn <[email protected]>

* remove tests that were commented out on master

Signed-off-by: Aidan Hahn <[email protected]>
Signed-off-by: Flynn <[email protected]>

* enable deprecated apis

Signed-off-by: Flynn <[email protected]>

* pytest corrections (#18)

Signed-off-by: Aidan Hahn <[email protected]>
Signed-off-by: Flynn <[email protected]>

* gzip fix (#19)

* gzip fix

* update ambex

* update ambex

* update circle

Signed-off-by: Flynn <[email protected]>

* pytest envoy v2 test fixes (#21)

Signed-off-by: Flynn <[email protected]>

* envoy v2 fixes maybz (#22)

* envoy v2 fixes maybz

* envoy v2 fixes maybz

Signed-off-by: Flynn <[email protected]>

* also push rc for emissary privaet

Signed-off-by: Flynn <[email protected]>

* allow chunked length (#24)

* expose chunked length

Signed-off-by: AliceProxy <[email protected]>

improve test coverage

Signed-off-by: AliceProxy <[email protected]>

Remove v2listener and v2Test

Signed-off-by: AliceProxy <[email protected]>

add setting to protos

Signed-off-by: AliceProxy <[email protected]>

make generate

Signed-off-by: AliceProxy <[email protected]>

* comment out test

* test fixes

* UNDO THIS

* mkay

* comment out test

Co-authored-by: AliceProxy <[email protected]>
Signed-off-by: Flynn <[email protected]>

* update pf gomod

Signed-off-by: Flynn <[email protected]>

* extauth needs "ignore_case" for auth and request headers

Signed-off-by: Aidan Hahn <[email protected]>
Signed-off-by: Flynn <[email protected]>

* yank deprecated config option

Signed-off-by: Aidan Hahn <[email protected]>
Signed-off-by: Flynn <[email protected]>

* update t_chunked_length test

Signed-off-by: Aidan Hahn <[email protected]>
Signed-off-by: Flynn <[email protected]>

* Log ambex snapshots

Signed-off-by: Flynn <[email protected]>

* ambex logging cleanup

Signed-off-by: Flynn <[email protected]>

* Update goldfiles for V3 #1 (from d15d3b4)

Signed-off-by: Flynn <[email protected]>

* fix fake_mapping_cors_test

Signed-off-by: Flynn <[email protected]>

* fix chunked length

Signed-off-by: Flynn <[email protected]>

* fix envoy_api_version

Signed-off-by: Flynn <[email protected]>

* make go-mod-tidy

Signed-off-by: Flynn <[email protected]>

* Update t_chunked_length for V2

Signed-off-by: Flynn <[email protected]>

* Update gold files

Signed-off-by: Flynn <[email protected]>

* CHANGELOG

Signed-off-by: Flynn <[email protected]>

* make generate

Signed-off-by: Flynn <[email protected]>

* Temporary fix for repo name.

Signed-off-by: Flynn <[email protected]>

* remove fake mapping test, make generate

Signed-off-by: Flynn <[email protected]>

* bump envoy in 2.0.2

* fix manifest stuff

* fix is private thing again

Co-authored-by: Alice Nodelman <[email protected]>
Co-authored-by: Alex Gervais <[email protected]>
Co-authored-by: Aidan Hahn <[email protected]>
Co-authored-by: Flynn <[email protected]>
Co-authored-by: Aidan Hahn <[email protected]>
Co-authored-by: AliceProxy <[email protected]>
Co-authored-by: Flynn <[email protected]>
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

No branches or pull requests

2 participants