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

Turbinia not compatible with google-cloud-pubsub==0.29.0 #96

Closed
berggren opened this issue Nov 8, 2017 · 9 comments
Closed

Turbinia not compatible with google-cloud-pubsub==0.29.0 #96

berggren opened this issue Nov 8, 2017 · 9 comments
Assignees
Milestone

Comments

@berggren
Copy link
Collaborator

berggren commented Nov 8, 2017

pubsub.Client is now PublisherClient and SubscriberClient

@aarontp
Copy link
Member

aarontp commented Nov 22, 2017

Took a bit of digging to figure out exactly what is going on, but here is the redesign:
googleapis/google-cloud-python#3859

The underlying code still supports it, but it sounds like they're trying to push everyone to asynchronous based polling. In the short term I'm just going to use the underlying .pull() method, and we can convert later if this thread indicates that it might not be supported in the long term.
googleapis/google-cloud-python#4338

@berggren
Copy link
Collaborator Author

berggren commented Nov 22, 2017 via email

@aarontp
Copy link
Member

aarontp commented Nov 23, 2017

Ok, so a few things:

I tried to just use the underlying implementation for .pull() by using the SubscriberClient directly from the gapic client in google.cloud.pubsub_v1.gapic.subscriber_client, but I couldn't get it to work correctly (it kept indefinitely hanging when waiting for messages rather than respecting the return_immediately flag). I ended up just using the asynchronous interface and just sticking things on a queue for processing as needed.

I have initial support for asynchronous pulls with the latest library version in the pubsub-fix branch here:
cd0cd14

Only problem is that it looks like PSQ doesn't actually support it yet either, :(. I filed this issue, but we might need to add that support ourselves:
GoogleCloudPlatform/psq#32

@aarontp
Copy link
Member

aarontp commented Dec 7, 2017

We should be good to move forward to upgrading this. PSQ has updated to use the latest version as of psq==0.6.0. Hopefully no major refactors in the PSQ interface to go along with it, :)

@berggren
Copy link
Collaborator Author

berggren commented Dec 7, 2017 via email

@aarontp
Copy link
Member

aarontp commented Mar 6, 2018

Note to self: Unpin google-cloud-storage when this is fixed as well.

@aarontp aarontp self-assigned this Mar 16, 2018
@beamcodeup
Copy link
Contributor

@aarontp FYI

Per grpc/grpc#14892, gRPC doesn't support fork. Currently, we pin psq=0.5.0. The problem is this version fork() when psq.MultiprocessWorker(queue=...) is invoked and then segfaults.

I think we should explore upgrading psq to the latest version.

@aarontp
Copy link
Member

aarontp commented Apr 9, 2018 via email

@aarontp aarontp added this to the Alpha milestone Apr 12, 2018
@aarontp
Copy link
Member

aarontp commented Jul 9, 2018

Fixed in #198

@aarontp aarontp closed this as completed Jul 9, 2018
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